/* ==========================================================================
   FINOVETRA — foglio di stile principale
   Palette e tipografia derivate dal logo: blu istituzionale, filetto oro,
   serif classica per i titoli, numeri tabulari per gli importi.
   ========================================================================== */

:root{
	--navy:#0A3A6B;
	--navy-deep:#062A4F;
	--navy-ink:#04203D;
	--gold:#C08C2C;
	--gold-light:#E3B85A;
	--gold-pale:#F3E7CC;
	--white:#FFFFFF;
	--grey:#F4F6F9;
	--grey-2:#EAEEF3;
	--line:#DDE3EA;
	--ink:#23292F;
	--muted:#59636E;

	--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
	--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;

	--shell:1180px;
	--gap:clamp(2.75rem,6vw,5.5rem);
	--radius:2px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}

/* L attributo hidden deve avere l ultima parola : senza questa regola una
   dichiarazione display: block su una classe lo annulla, e i campi
   condizionali restano visibili in permanenza. */
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
	margin:0;background:var(--white);color:var(--ink);
	font-family:var(--sans);font-size:16.5px;line-height:1.65;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:3px}
a:hover{color:var(--navy-deep)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
::selection{background:var(--gold-pale)}

.fv-shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem)}
.fv-narrow{max-width:760px}

.fv-skip{
	position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;
	padding:10px 18px;z-index:100;
}
.fv-skip:focus{left:0}

/* ---------- Tipografia ---------- */
.fv-h1{
	font-family:var(--serif);font-weight:600;
	font-size:clamp(2rem,4.6vw,3.05rem);line-height:1.12;
	letter-spacing:-.01em;margin:0 0 .6rem;color:var(--navy-deep);
}
.fv-h2{
	font-family:var(--serif);font-weight:600;
	font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.2;
	margin:0 0 .5rem;color:var(--navy-deep);
}
.fv-h3{font-family:var(--serif);font-weight:600;font-size:1.32rem;line-height:1.3;margin:0 0 .5rem;color:var(--navy-deep)}
.fv-h4{font-family:var(--sans);font-weight:600;font-size:1rem;margin:0 0 .7rem;color:var(--navy-deep)}
.fv-prose{max-width:68ch;color:var(--ink)}
.fv-prose p{margin:0 0 1.05rem}
.fv-section-lead,.fv-pagehead-lead{color:var(--muted);max-width:62ch;font-size:1.06rem;margin:.4rem 0 2rem}
.fv-note{color:var(--muted);font-size:.9rem;line-height:1.6;max-width:70ch;margin:1.4rem 0 0}
.fv-note--framed{border-left:2px solid var(--gold);padding:.85rem 0 .85rem 1.1rem;margin:0}

/* Filetto oro: elemento ripreso dal logo. */
.fv-rule{
	display:block;width:74px;height:1px;background:var(--gold);
	margin:0 0 1.15rem;position:relative;
}
.fv-rule::after{
	content:"";position:absolute;left:82px;top:0;width:14px;height:1px;background:var(--gold);opacity:.55;
}

/* ---------- Header ---------- */
.fv-header{
	position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);
	border-bottom:1px solid var(--line);backdrop-filter:saturate(1.4) blur(6px);
}
.fv-header-inner{display:flex;align-items:center;gap:1.5rem;min-height:82px}
.fv-logo{display:block;flex:0 0 auto}
.fv-logo img{width:auto;height:52px;object-fit:contain}

.fv-nav{margin-left:auto;display:flex;align-items:center;gap:1.9rem}
.fv-nav-list{display:flex;gap:1.45rem;list-style:none;margin:0;padding:0}
.fv-nav-a{
	text-decoration:none;color:var(--ink);font-size:.935rem;
	padding:.45rem 0;display:inline-block;border-bottom:2px solid transparent;
}
.fv-nav-a:hover{border-bottom-color:var(--gold)}
.fv-nav-a.is-current{color:var(--navy);border-bottom-color:var(--navy)}
.fv-nav-tail{display:flex;align-items:center;gap:1.1rem}

.fv-langs{display:flex;gap:.3rem;align-items:center}
.fv-lang{
	text-decoration:none;color:var(--muted);font-size:.78rem;letter-spacing:.06em;
	padding:.24rem .45rem;border:1px solid transparent;
}
.fv-lang:hover{color:var(--navy)}
.fv-lang.is-active{color:var(--navy-deep);border-color:var(--line);background:var(--grey)}

.fv-burger{display:none;align-items:center;gap:.55rem;background:none;border:0;cursor:pointer;padding:.5rem;color:var(--navy-deep);font:inherit;font-size:.85rem}
.fv-burger-bars{display:flex;flex-direction:column;gap:4px}
.fv-burger-bars span{display:block;width:22px;height:2px;background:var(--navy-deep)}

/* ---------- Hero ---------- */
.fv-hero{background:var(--navy-deep);color:#fff;position:relative;overflow:hidden}
.fv-hero::before{
	content:"";position:absolute;inset:0;
	background:radial-gradient(80% 120% at 12% 0%,rgba(255,255,255,.09),transparent 62%);
	pointer-events:none;
}
.fv-hero-inner{
	display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);
	align-items:center;padding:clamp(3rem,7vw,5.5rem) clamp(1.1rem,4vw,2rem);
	position:relative;
}
.fv-hero-title{
	font-family:var(--serif);font-weight:600;color:#fff;
	font-size:clamp(2.1rem,4.4vw,3.25rem);line-height:1.13;letter-spacing:-.012em;margin:0 0 1.1rem;
}
.fv-hero-lead{color:rgba(255,255,255,.8);font-size:1.08rem;max-width:52ch;margin:0 0 2rem}
.fv-hero-actions{display:flex;flex-wrap:wrap;gap:.85rem}

/* ---------- Bottoni ---------- */
.fv-btn{
	display:inline-block;padding:.82rem 1.55rem;font:inherit;font-size:.945rem;
	text-decoration:none;cursor:pointer;border:1px solid var(--navy);
	background:#fff;color:var(--navy);border-radius:var(--radius);
	transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.fv-btn:hover{background:var(--grey)}
.fv-btn--primary{background:var(--navy);color:#fff}
.fv-btn--primary:hover{background:var(--navy-deep);color:#fff}
.fv-btn--gold{background:var(--gold);border-color:var(--gold);color:var(--navy-ink);font-weight:600}
.fv-btn--gold:hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--navy-ink)}
.fv-btn--outline-light{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.fv-btn--outline-light:hover{background:rgba(255,255,255,.1);color:#fff}
.fv-btn--ghost{border-color:var(--line);color:var(--navy)}
.fv-btn--link{border:0;background:none;padding:.82rem 0;color:var(--navy);border-bottom:1px solid var(--gold);border-radius:0}
.fv-btn--link:hover{background:none;border-bottom-color:var(--navy)}
.fv-btn--sm{padding:.55rem 1.05rem;font-size:.875rem}
.fv-btn--lg{padding:1rem 2.1rem;font-size:1rem}

/* ---------- Sezioni ---------- */
.fv-section{padding:var(--gap) 0}
.fv-section--alt{background:var(--grey);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fv-section--tall{padding:calc(var(--gap) * 1.4) 0}
.fv-pagehead{padding:clamp(2.5rem,5vw,4rem) 0 0}

.fv-cols{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.6rem,4vw,3.5rem);align-items:start}

/* ---------- Simulatore ---------- */
.fv-sim{
	background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);
	padding:clamp(1.4rem,3vw,2.1rem);
}
.fv-sim--hero{box-shadow:0 22px 60px rgba(4,32,61,.32)}
.fv-sim--full{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.fv-sim--full .fv-sim-table,.fv-sim--full .fv-sim-disclaimer{grid-column:1/-1}

.fv-sim-controls{display:grid;gap:1.5rem}
.fv-sim-control label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.15rem}
.fv-sim-value{
	display:block;font-family:var(--serif);font-size:1.55rem;color:var(--navy-deep);
	font-variant-numeric:tabular-nums;margin-bottom:.5rem;
}
.fv-sim-control input[type=range]{
	width:100%;-webkit-appearance:none;appearance:none;background:transparent;height:26px;margin:0;
}
.fv-sim-control input[type=range]::-webkit-slider-runnable-track{height:3px;background:var(--grey-2)}
.fv-sim-control input[type=range]::-moz-range-track{height:3px;background:var(--grey-2)}
.fv-sim-control input[type=range]::-webkit-slider-thumb{
	-webkit-appearance:none;appearance:none;width:20px;height:20px;margin-top:-8.5px;
	background:var(--navy);border:3px solid #fff;box-shadow:0 0 0 1px var(--navy);border-radius:50%;cursor:pointer;
}
.fv-sim-control input[type=range]::-moz-range-thumb{
	width:20px;height:20px;background:var(--navy);border:3px solid #fff;box-shadow:0 0 0 1px var(--navy);
	border-radius:50%;cursor:pointer;
}
.fv-sim-range-legend{display:flex;justify-content:space-between;font-size:.76rem;color:var(--muted);font-variant-numeric:tabular-nums}
.fv-sim-control--select select{
	width:100%;padding:.7rem .8rem;border:1px solid var(--line);font:inherit;background:#fff;border-radius:var(--radius);
}

.fv-sim-result{margin-top:1.9rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.fv-sim--full .fv-sim-result{margin-top:0;padding-top:0;border-top:0;border-left:1px solid var(--line);padding-left:clamp(1.2rem,3vw,2.2rem)}
.fv-sim-result-label{font-size:.85rem;color:var(--muted);margin:0}
.fv-sim-result-value{
	font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.1rem);line-height:1.05;
	color:var(--navy-deep);font-variant-numeric:tabular-nums;margin:.15rem 0 .1rem;
	border-bottom:2px solid var(--gold);display:inline-block;padding-bottom:.3rem;
}
.fv-cur{font-size:.55em;color:var(--muted)}

.fv-sim-figures{margin:1.4rem 0 1.5rem;display:grid;gap:0}
.fv-sim-figures>div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--grey-2)}
.fv-sim-figures dt{color:var(--muted);font-size:.88rem;margin:0}
.fv-sim-figures dd{margin:0;font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:500}
.fv-sim-result .fv-btn{margin-right:.6rem;margin-bottom:.5rem}
.fv-sim-disclaimer{font-size:.83rem;color:var(--muted);margin:1.4rem 0 0;line-height:1.6;max-width:75ch}

.fv-sim-table{margin-top:1.8rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.fv-sim-table-title{font-family:var(--serif);font-size:1.15rem;margin:0 0 .9rem;color:var(--navy-deep)}
.fv-tablescroll{overflow:auto;max-height:440px;border:1px solid var(--line)}
.fv-amort{width:100%;border-collapse:collapse;font-size:.86rem;font-variant-numeric:tabular-nums}
.fv-amort th{
	position:sticky;top:0;background:var(--navy-deep);color:#fff;text-align:left;
	padding:.6rem .7rem;font-weight:500;font-size:.76rem;letter-spacing:.02em;white-space:nowrap;
}
.fv-amort td{padding:.5rem .7rem;border-bottom:1px solid var(--grey-2)}
.fv-amort tbody tr:nth-child(even){background:#FAFBFC}
.fv-amort .fv-r,.fv-amort td.fv-r{text-align:right}

/* ---------- Prodotti ---------- */
.fv-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.35rem;margin-top:1.4rem}
.fv-product{background:#fff;border:1px solid var(--line);padding:1.5rem 1.55rem;display:flex;flex-direction:column}
.fv-section--alt .fv-product{background:#fff}
.fv-product-name{font-family:var(--serif);font-size:1.24rem;color:var(--navy-deep);margin:0 0 .55rem;line-height:1.25}
.fv-product-desc{color:var(--muted);font-size:.93rem;margin:0 0 1.2rem}
.fv-product-specs{margin:0 0 1.1rem;border-top:1px solid var(--grey-2)}
.fv-product-specs>div{display:flex;justify-content:space-between;gap:1rem;padding:.44rem 0;border-bottom:1px solid var(--grey-2)}
.fv-product-specs dt{color:var(--muted);font-size:.83rem;margin:0}
.fv-product-specs dd{margin:0;font-size:.87rem;font-variant-numeric:tabular-nums;text-align:right}
.fv-product-example{
	font-size:.85rem;color:var(--ink);background:var(--grey);
	border-left:2px solid var(--gold);padding:.75rem .9rem;margin:0 0 1.1rem;line-height:1.55;
}
.fv-product-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;align-items:center}
.fv-products--detail .fv-product{padding:1.9rem}

/* ---------- Vantaggi ---------- */
.fv-advantages{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:1.6rem 2.4rem;margin-top:1.8rem}
.fv-advantage{border-top:1px solid var(--line);padding-top:1.05rem}
.fv-advantage-title{font-size:1.02rem;font-weight:600;color:var(--navy-deep);margin:0 0 .35rem}
.fv-advantage p{margin:0;color:var(--muted);font-size:.93rem}

/* ---------- Processo (sequenza numerata) ---------- */
.fv-process{list-style:none;counter-reset:step;margin:1.8rem 0 0;padding:0;display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.fv-step{padding:0 1.2rem 0 0;border-top:2px solid var(--line);padding-top:1rem;position:relative}
.fv-step-num{
	font-family:var(--serif);font-size:1.5rem;color:var(--gold);display:block;line-height:1;margin-bottom:.45rem;
	font-variant-numeric:lining-nums;
}
.fv-step-title{font-size:1rem;font-weight:600;color:var(--navy-deep);margin:0 0 .35rem}
.fv-step-text{margin:0;color:var(--muted);font-size:.9rem}
/* Sequenza dettagliata : una colonna, ma centrata nella pagina.
   Senza i margini automatici il blocco resta incollato a sinistra e lascia
   meta schermo vuoto sui monitor larghi. */
.fv-process--detail{grid-template-columns:1fr;gap:0;max-width:900px;margin-inline:auto}
.fv-process--detail .fv-step{
	display:grid;
	grid-template-columns:64px 1fr;
	/* Le aree evitano il difetto precedente : con il solo posizionamento
	   automatico il testo finiva nella colonna del numero, larga 64 px,
	   e si incolonnava parola per parola. */
	grid-template-areas:"num title" "num text";
	gap:.25rem 1.4rem;align-items:start;
	border-top:1px solid var(--line);padding:1.7rem 0;
}
.fv-process--detail .fv-step-num{grid-area:num}
.fv-process--detail .fv-step-title{grid-area:title}
.fv-process--detail .fv-step-text{grid-area:text}
.fv-process--detail .fv-step:last-child{border-bottom:1px solid var(--line)}
.fv-process--detail .fv-step-num{font-size:2.3rem;margin:0;line-height:1;grid-area:num}
.fv-process--detail .fv-step-text{font-size:1rem;line-height:1.65;max-width:70ch}

/* Intestazione allineata alla sequenza centrata. */
.fv-centered{max-width:900px;margin-inline:auto}
.fv-centered .fv-section-lead,.fv-centered .fv-note{max-width:none}

/* ---------- Editoriale (Chi siamo) ---------- */
.fv-editorial{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:2rem 3rem}
.fv-editorial-item{border-top:1px solid var(--line);padding-top:1.2rem}
.fv-editorial-item p{margin:0;color:var(--muted)}

/* ---------- FAQ ---------- */
.fv-faq{border-top:1px solid var(--line)}
.fv-faq-item{border-bottom:1px solid var(--line)}
.fv-faq-q{
	cursor:pointer;padding:1.15rem 2.2rem 1.15rem 0;font-size:1.04rem;color:var(--navy-deep);
	font-weight:500;position:relative;list-style:none;
}
.fv-faq-q::-webkit-details-marker{display:none}
.fv-faq-q::after{
	content:"+";position:absolute;right:.3rem;top:50%;transform:translateY(-50%);
	color:var(--gold);font-size:1.4rem;line-height:1;
}
.fv-faq-item[open] .fv-faq-q::after{content:"–"}
.fv-faq-a{padding:0 2rem 1.3rem 0;color:var(--muted);max-width:70ch}
.fv-faq-a p{margin:0 0 .8rem}
.fv-faq-more{margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.fv-faq-more p{margin:0 0 .9rem;color:var(--muted)}

/* ---------- Moduli ---------- */
.fv-form .fv-field{display:block;margin-bottom:1.05rem}
.fv-field>span{display:block;font-size:.86rem;color:var(--muted);margin-bottom:.32rem}
.fv-field>span em{font-style:normal;opacity:.75}
.fv-field input[type=text],.fv-field input[type=email],.fv-field input[type=tel],
.fv-field input[type=number],.fv-field select,.fv-field textarea{
	width:100%;padding:.72rem .85rem;border:1px solid var(--line);background:#fff;
	font:inherit;font-size:.97rem;color:var(--ink);border-radius:var(--radius);
}
.fv-field textarea{resize:vertical;line-height:1.6}
.fv-field input:focus,.fv-field select:focus,.fv-field textarea:focus{
	border-color:var(--navy);outline:none;box-shadow:0 0 0 3px rgba(10,58,107,.1);
}
.fv-field input[aria-invalid=true],.fv-field textarea[aria-invalid=true]{border-color:#9B2C2C}
.fv-field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1.1rem}
.fv-fieldset{border:0;border-top:1px solid var(--line);margin:0 0 1.8rem;padding:1.4rem 0 0}
.fv-fieldset legend{
	font-family:var(--sans);font-size:.82rem;color:var(--gold);
	letter-spacing:.09em;text-transform:uppercase;padding:0 .7rem 0 0;
}
.fv-check{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.85rem;font-size:.9rem;color:var(--ink)}
.fv-check input{margin-top:.28rem;flex:0 0 auto;width:16px;height:16px;accent-color:var(--navy)}
.fv-consent-note{font-size:.84rem;color:var(--muted);margin:0 0 1.1rem}
.fv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fv-form-feedback{margin:1rem 0 0;font-size:.92rem}
.fv-form-feedback.is-error{color:#9B2C2C}
.fv-form-feedback.is-ok{color:#1F6B45}
.fv-field-error{display:block;color:#9B2C2C;font-size:.8rem;margin-top:.25rem}

.fv-success{border-left:3px solid var(--gold);background:var(--grey);padding:1.6rem 1.8rem}
.fv-success h2{font-family:var(--serif);color:var(--navy-deep);margin:0 0 .6rem;font-size:1.4rem}
.fv-success p{margin:0;color:var(--ink)}
.fv-success .fv-ref{font-family:var(--mono);font-size:1.05rem;color:var(--navy-deep)}

.fv-request-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(1.6rem,4vw,3.5rem);align-items:start}
.fv-request-aside{position:sticky;top:110px;display:grid;gap:1.4rem}
.fv-request-summary{background:var(--grey);border-top:3px solid var(--gold);padding:1.5rem}
.fv-request-installment{
	font-family:var(--serif);font-size:2.3rem;color:var(--navy-deep);
	font-variant-numeric:tabular-nums;margin:.2rem 0 .6rem;line-height:1;
}
.fv-request-help{border:1px solid var(--line);padding:1.5rem}

/* ---------- Contatti ---------- */
.fv-contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.6rem,4vw,3.5rem);align-items:start}
.fv-contact-details{margin:0}
.fv-contact-details>div{padding:.75rem 0;border-bottom:1px solid var(--line)}
.fv-contact-details dt{font-size:.78rem;color:var(--muted);letter-spacing:.05em;margin:0 0 .2rem}
.fv-contact-details dd{margin:0;font-size:.96rem;color:var(--ink)}
.fv-contact-details a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line)}
.fv-contact-details a:hover{border-bottom-color:var(--gold)}
.fv-social{list-style:none;margin:1rem 0 0;padding:0;display:flex;gap:1rem;flex-wrap:wrap}
.fv-social a{font-size:.9rem;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold)}
.fv-map{border-top:1px solid var(--line)}
.fv-map iframe{width:100%;height:380px;border:0;display:block}

/* ---------- CTA ---------- */
.fv-cta{background:var(--navy);color:#fff;padding:clamp(2.2rem,4.5vw,3.4rem) 0}
.fv-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:1.8rem;flex-wrap:wrap}
.fv-cta-title{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,1.9rem);margin:0 0 .3rem;color:#fff}
.fv-cta-text{margin:0;color:rgba(255,255,255,.78);max-width:56ch}

/* ---------- Footer ---------- */
.fv-footer{background:var(--navy-deep);color:rgba(255,255,255,.76);padding:clamp(2.6rem,5vw,4rem) 0 1.6rem;font-size:.92rem}
.fv-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:2.2rem}
.fv-footer-brand img{height:56px;width:auto;margin-bottom:1rem}
.fv-footer-note{margin:0 0 1rem;max-width:38ch;color:rgba(255,255,255,.62);font-size:.88rem}
.fv-footer-title{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);margin:0 0 .9rem;font-weight:600}
.fv-footer-col ul{list-style:none;margin:0;padding:0}
.fv-footer-col li{margin-bottom:.5rem}
.fv-footer-col a{color:rgba(255,255,255,.78);text-decoration:none}
.fv-footer-col a:hover{color:#fff;border-bottom:1px solid var(--gold)}
.fv-footer .fv-contact-details>div{border-bottom-color:rgba(255,255,255,.12);padding:.55rem 0}
.fv-footer .fv-contact-details dt{color:rgba(255,255,255,.5)}
.fv-footer .fv-contact-details dd{color:rgba(255,255,255,.8);font-size:.9rem}
.fv-footer .fv-contact-details a{color:rgba(255,255,255,.85);border-bottom-color:rgba(255,255,255,.2)}
.fv-footer .fv-social a{color:rgba(255,255,255,.8)}
.fv-footer-disclaimer{
	margin:2.4rem 0 1.4rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.14);
	font-size:.82rem;color:rgba(255,255,255,.55);max-width:90ch;line-height:1.65;
}
.fv-footer-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.5)}
.fv-footer-bar p{margin:0}
.fv-langs--footer .fv-lang{color:rgba(255,255,255,.6)}
.fv-langs--footer .fv-lang.is-active{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}

/* ---------- Banner cookie ---------- */
.fv-cookie{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:3px solid var(--gold);box-shadow:0 -8px 30px rgba(4,32,61,.14)}
.fv-cookie-inner{max-width:var(--shell);margin:0 auto;padding:1.1rem clamp(1.1rem,4vw,2rem);display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap}
.fv-cookie-text{margin:0;flex:1;min-width:260px;font-size:.88rem;color:var(--ink);max-width:76ch}
.fv-cookie-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
.fv-cookie-more{font-size:.85rem;color:var(--navy)}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
	.fv-hero-inner{grid-template-columns:1fr;gap:2.4rem}
	.fv-sim--full{grid-template-columns:1fr}
	.fv-sim--full .fv-sim-result{border-left:0;padding-left:0;padding-top:1.4rem;border-top:1px solid var(--line);margin-top:.4rem}
	.fv-cols,.fv-contact-grid,.fv-request-grid{grid-template-columns:1fr}
	.fv-request-aside{position:static}
	.fv-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
	.fv-burger{
		display:flex;
		/* Il menu esce dal flusso in versione mobile : senza questo margine
		   il pulsante resterebbe incollato al logo invece di andare a destra. */
		margin-left:auto;
	}
	.fv-nav{
		position:fixed;inset:82px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);
		flex-direction:column;align-items:stretch;gap:0;padding:1rem clamp(1.1rem,4vw,2rem) 1.6rem;
		display:none;box-shadow:0 18px 40px rgba(4,32,61,.12);max-height:calc(100vh - 82px);overflow-y:auto;
	}
	.fv-nav.is-open{display:flex}
	.fv-nav-list{flex-direction:column;gap:0}
	.fv-nav-a{padding:.85rem 0;border-bottom:1px solid var(--grey-2);display:block}
	.fv-nav-a:hover,.fv-nav-a.is-current{border-bottom-color:var(--gold)}
	.fv-nav-tail{margin-top:1.1rem;justify-content:space-between}
	.fv-header-inner{min-height:74px}
	.fv-logo img{height:44px}
	.fv-nav{inset-block-start:74px}
}
@media (max-width:640px){
	body{font-size:16px}
	.fv-field-row{grid-template-columns:1fr}
	.fv-footer-grid{grid-template-columns:1fr;gap:1.8rem}
	.fv-process{grid-template-columns:1fr}
	.fv-step{border-top:1px solid var(--line);padding:1rem 0}
	.fv-process--detail .fv-step{grid-template-columns:44px 1fr}
	.fv-cta-inner{flex-direction:column;align-items:flex-start}
	.fv-sim-result-value{font-size:2.4rem}
	.fv-cookie-inner{gap:.9rem}
	.fv-cookie-actions{width:100%}
	.fv-cookie-actions .fv-btn{flex:1}
	.fv-tablescroll{max-height:340px}
}

@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*{transition:none!important;animation:none!important}
}

@media print{
	.fv-header,.fv-footer,.fv-cookie,.fv-cta,.fv-btn{display:none!important}
	.fv-tablescroll{max-height:none;overflow:visible;border:0}
	body{font-size:11pt;color:#000}
}

/* ==========================================================================
   Componenti dei contenuti estesi
   ========================================================================== */

/* Fascia dei riferimenti, sotto l apertura */
.fv-band{background:var(--navy);color:#fff;padding:clamp(1.9rem,4vw,2.8rem) 0}
.fv-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.6rem 2.2rem}
.fv-figure{border-left:1px solid rgba(255,255,255,.2);padding-left:1.2rem}
.fv-figure:first-child{border-left:0;padding-left:0}
.fv-figure-value{
	font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.72rem);color:var(--gold-light);
	margin:0 0 .2rem;line-height:1.15;font-variant-numeric:tabular-nums;
}
.fv-figure-label{margin:0;font-size:.86rem;color:rgba(255,255,255,.72);line-height:1.45}
.fv-band-note{
	margin:1.8rem 0 0;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.14);
	font-size:.82rem;color:rgba(255,255,255,.55);max-width:88ch;line-height:1.6;
}

/* Blocchi titolo + testo */
.fv-cards{display:grid;gap:1.35rem;margin-top:1.6rem}
.fv-cards--2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.fv-cards--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.fv-card{background:#fff;border:1px solid var(--line);border-top:2px solid var(--gold);padding:1.6rem 1.65rem}
.fv-section--alt .fv-card{background:#fff}
.fv-card-title{font-family:var(--serif);font-size:1.16rem;color:var(--navy-deep);margin:0 0 .6rem;line-height:1.3}
.fv-card-text{margin:0;color:var(--muted);font-size:.94rem;line-height:1.62}

/* Elenchi puntati con segno di spunta in oro */
.fv-checklist{list-style:none;margin:0;padding:0}
.fv-checklist li{
	position:relative;padding:.72rem 0 .72rem 1.9rem;border-bottom:1px solid var(--line);
	font-size:.97rem;color:var(--ink);line-height:1.55;
}
.fv-checklist li::before{
	content:"";position:absolute;left:.15rem;top:1.22rem;width:9px;height:5px;
	border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);
	transform:rotate(-45deg);
}
.fv-checklist li:last-child{border-bottom:0}
.fv-checklist--wide{columns:2;column-gap:2.6rem;margin-top:1.6rem}
.fv-checklist--wide li{break-inside:avoid}

/* Testo introduttivo delle colonne */
.fv-cols-text{color:var(--muted);font-size:.95rem;margin:.6rem 0 0;max-width:44ch}
.fv-lead-prose{font-size:1.06rem;line-height:1.72}

/* Avviso in evidenza */
.fv-note--warn{
	background:var(--gold-pale);border-left:2px solid var(--gold);
	padding:.9rem 1.1rem;color:var(--ink);margin-top:1.5rem;font-size:.88rem;
}
.fv-alert{border:1px solid var(--gold);border-top:3px solid var(--gold);padding:1.7rem 1.9rem;background:#fff}
.fv-alert-title{font-family:var(--serif);font-size:1.2rem;color:var(--navy-deep);margin:0 0 .7rem}
.fv-alert p{margin:0;color:var(--ink);font-size:.96rem;line-height:1.68}

/* Canali di contatto */
.fv-channel{display:flex;flex-direction:column}
.fv-channel-value{margin:0 0 .8rem;font-size:1.02rem}
.fv-channel-value a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);word-break:break-word}
.fv-channel-value a:hover{border-bottom-color:var(--navy)}
.fv-channel-when{
	margin:auto 0 0;padding-top:1rem;border-top:1px solid var(--grey-2);
	font-size:.85rem;color:var(--navy-deep);
}
.fv-channel-when span{
	display:block;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;
	color:var(--gold);margin-bottom:.25rem;
}

.fv-visually-hidden{
	position:absolute;width:1px;height:1px;padding:0;margin:-1px;
	overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

@media (max-width:860px){
	.fv-figure{border-left:0;padding-left:0}
	.fv-checklist--wide{columns:1}
}

/* Campo condizionale : lingua di corrispondenza */
.fv-field-help{
	display:block;font-style:normal;font-size:.82rem;color:var(--muted);
	margin-top:.35rem;line-height:1.5;
}
.fv-field--conditional{
	border-left:2px solid var(--gold);background:var(--grey);
	padding:1rem 1.1rem;margin-bottom:1.05rem;
}
.fv-field--conditional>span{margin-bottom:.6rem;font-weight:500;color:var(--navy-deep)}
.fv-radios{display:flex;flex-wrap:wrap;gap:.55rem}
.fv-radio{
	display:inline-flex;align-items:center;gap:.5rem;background:#fff;
	border:1px solid var(--line);padding:.5rem .9rem;cursor:pointer;
	border-radius:var(--radius);font-size:.92rem;
}
.fv-radio:has(input:checked){border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.fv-radio input{accent-color:var(--navy);width:15px;height:15px;margin:0}
