﻿/* =====================================================================
   VERTIGO CAPITAL — Pagina Real Estate (bespoke)
   Font Inter (body) + DM Serif Display (titoli) · intro centrate · sezioni alternate
   bianco/nero/foto + "fantasia" di linee · hero foto+patina · accento blu.
   Armonizzazione 2026-06: ritmo spaziature, scala tipografica, glassmorphism.
   ===================================================================== */

/* Evita che il body nero trasparisca attorno al container */
body:has(#vre),
body:has(#vpe),
body:has(#vvc),
body:has(#vcontact),
body:has(#vinv),
body:has(#vrd-page) { background-color: #F5F7F8 !important; }

.vre {
	width: 100%;
	/* Brand palette */
	--accent:    var(--vc-accent, #00B0D4);
	--accent-dk: #027A93;
	--accent-2:  #66D3EA;
	--accent-12: rgba(0,176,212, 0.12);
	--accent-08: rgba(0,176,212, 0.08);
	--pattern:   url("../img/background-2.png");

	/* Sistema spaziature (piccola / media / grande) */
	--sp-sm:  clamp(32px, 5vw,  48px);
	--sp-md:  clamp(48px, 8vw,  80px);
	--sp-lg:  clamp(64px, 10vw, 120px);

	/* Glassmorphism tokens */
	--glass-bg:     rgba(0,176,212, 0.07);
	--glass-bg-w:   rgba(255, 255, 255, 0.06);
	--glass-bd:     rgba(255, 255, 255, 0.13);
	--glass-bd-acc: rgba(0,176,212, 0.22);
	--glass-blur:   14px;
	--glass-radius: 16px;   /* angoli uniformi su tutti i box */

	font-family: 'Inter', sans-serif;
	background: #0A1930;
	overflow: visible;
}
/* Corpo e UI in Inter; titoli in DM Serif Display via vertigo-redesign.css */
.vre, .vre :is(p, span, a, div, dt, dd, li, strong, em, b) {
	font-family: 'Inter', sans-serif !important;
}
/* Heading: DM Serif Display come nel resto del sito */
.vre :is(h1, h2, h3, h4, h5, h6) {
	font-family: 'DM Serif Display', Georgia, serif !important;
}

/* Temi sezione */
.vre-light { --sec-bg:#F5F7F8; --sec-head:#10233F; --sec-text:#5B6B7F; --sec-card:#ffffff; --sec-bd:#E1E5E9; --sec-note:#5B6B7F; --sec-val:#10233F; }
.vre-dark  { --sec-bg:#0A1930; --sec-head:#ffffff; --sec-text:#B9C6D6; --sec-card:rgba(255,255,255,0.05); --sec-bd:rgba(46,74,114,0.50); --sec-note:#B9C6D6; --sec-val:#ffffff; }

/* Contenitore: 1150px, padding ritmato */
.vre-wrap { position: relative; z-index: 2; max-width: 1150px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 32px); }
.vre-section { position: relative; overflow: hidden; background: var(--sec-bg); color: var(--sec-text); padding: var(--sp-lg) 0; }

/* "Fantasia" di linee */
.vre-section::after { content:""; position:absolute; right:-4%; bottom:-8%; width:72%; height:92%; background: var(--pattern) no-repeat right bottom; background-size: contain; opacity:0.55; pointer-events:none; z-index:1; }
.vre-dark::after, .vre-photo::after { opacity:0.30; }

/* Colori titoli per tema */
.vre-light :is(h1,h2,h3){ color: var(--sec-head) !important; }
.vre-dark  :is(h1,h2,h3){ color:#fff !important; }
.vre-hero  :is(h1,h2,h3){ color:#fff !important; }

/* (2) Intro di sezione CENTRATE (i box restano com'è) */
.vre-section .vre-eyebrow,
.vre-section .vre-h2,
.vre-section .vre-lead { text-align: center; }
.vre-section .vre-lead { margin-left: auto; margin-right: auto; }

/* Tipografia — scala coerente */
.vre-eyebrow { font-size:0.75rem; letter-spacing:0.26em; text-transform:uppercase; color:#1C355C; font-weight:700; margin:0 0 0.9rem; }
/* H2: 32-48px, uniforme su tutte le sezioni */
.vre-h2 { font-weight:700; font-size:clamp(2rem,3.5vw,3rem); line-height:1.15; letter-spacing:-0.02em; margin:0 0 0.55em; }
/* H3 sezioni interne: 22px uniforme su tutti i blocchi */
.vre-section h3 { font-size:1.375rem; line-height:1.25; font-weight:700; }
.vre-lead { font-size:clamp(1rem,1.35vw,1.125rem); line-height:1.65; max-width:60ch; margin:0 0 var(--sp-md); }

.vre-btn { display:inline-flex; align-items:center; gap:0.5em; background:var(--accent); color:#fff !important; font-weight:600; font-size:0.9rem; letter-spacing:0.04em; padding:14px 28px; border-radius:50px; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease, background .25s ease; }
.vre-btn:hover { transform:translateY(-3px); background:var(--accent-2); box-shadow:0 12px 30px -10px rgba(0,176,212,.55); }
.vre-btn--lg { padding:16px 36px; font-size:0.95rem; }

/* Reveal editoriale premium a livello di SEZIONE: slide + fade visibile,
   niente blur/scale. Stagger quasi azzerato (max ~40ms) cosi' la sezione
   appare come un blocco coeso, non a cascata elemento-per-elemento. */
.vc-js .vre-reveal { opacity:0; transform:translateY(20px); filter:none; transition:opacity .62s cubic-bezier(.16,1,.3,1), transform .62s cubic-bezier(.16,1,.3,1); }
.vc-js .vre-reveal.vre-in { opacity:1; transform:none; filter:none; }
@media (prefers-reduced-motion: reduce){ .vc-js .vre-reveal{ opacity:1!important; transform:none!important; filter:none!important; } }

/* Hero: stessa entrata (allineata al resto) */
.vc-js .vre-hero .vre-reveal { transform:translateY(20px); filter:none; }
.vc-js .vre-hero .vre-reveal.vre-in { transform:none; }

/* Animazione UNICA e coerente su tutte le sezioni (nessuna variante per-sezione):
   tutto scende e appare allo stesso modo, in ordine di documento. */

/* ---------- HERO + MARQUEE wrapper — sfondo unico, zero stacchi ---------- */
.vre-hero-wrap {
	position:relative;
	background-color:#10233F;
	background-image:
		radial-gradient(ellipse 70% 60% at 80% 25%, rgba(0,176,212,0.35), transparent 60%),
		radial-gradient(ellipse 60% 55% at 10% 85%, rgba(0,176,212,0.22), transparent 55%),
		linear-gradient(180deg, #1C355C 0%, #10233F 60%, #0A1930 100%);
}
/* Onde sul wrapper (così coprono sia hero che marquee) */
.vre-hero-wrap::after { content:""; position:absolute; right:-4%; bottom:0; width:72%; height:85%; background:var(--pattern) no-repeat right bottom; background-size:contain; opacity:0.20; pointer-events:none; z-index:0; }

/* ---------- HERO (two-column: visual vetro + copy) ---------- */
.vre-hero {
	position:relative;
	display:flex;
	align-items:center;
	min-height:min(820px, calc(100svh - 100px));
	padding:clamp(24px,4vh,60px) 0 0;
	background:transparent;
	text-align:left;
}
.vre-hero::after { display:none; }
.vre-hero::before { display:none; }

.vre-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:center; width:100%; }

/* ---- SINISTRA: monumenti AI + card bianche fluttuanti (stile Akka) ---- */
.vre-hero-visual {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:360px;
	padding:20px 10px;
}
.vhc-glow { position:absolute; border-radius:50%; filter:blur(70px); pointer-events:none; z-index:0; }
.vhc-glow-1 { width:360px; height:360px; top:-20px; left:-30px; background:radial-gradient(circle, rgba(0,176,212,0.28), transparent 70%); }
.vhc-glow-2 { width:280px; height:280px; bottom:30px; right:-10px; background:radial-gradient(circle, rgba(0,176,212,0.18), transparent 70%); }

/* ===== IMMAGINE MONUMENTI AI ===== */
.vre-landmarks {
	position:relative;
	width:100%;
	max-width:100%;
	z-index:2;
	animation:vre-float 10s ease-in-out infinite;
	filter:drop-shadow(0 20px 50px rgba(0,0,0,0.55));
}
.vre-landmarks-img {
	width:100%;
	height:auto;
	display:block;
	-webkit-mask-image:
		linear-gradient(to right,  transparent 0%,  black 14%, black 86%, transparent 100%),
		linear-gradient(to bottom, transparent 0%,  black 10%, black 95%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image:
		linear-gradient(to right,  transparent 0%,  black 14%, black 86%, transparent 100%),
		linear-gradient(to bottom, transparent 0%,  black 10%, black 95%, transparent 100%);
	mask-composite: intersect;
}
/* Nessun ::after — il fade è fatto via mask sull'immagine stessa */

/* ===== CARD BIANCHE FLUTTUANTI ===== */
.vhc {
	position:absolute; z-index:4;
	background:#fff;
	border-radius:16px;
	box-shadow:0 8px 30px -8px rgba(2,13,28,0.22), 0 2px 8px -2px rgba(2,13,28,0.12);
	animation:vre-float 6s ease-in-out infinite;
}

/* Card KPI (tutte e 3 identiche — layout orizzontale stile vhc--mini) */
.vhc--kpi { padding:12px 15px; display:flex; align-items:center; gap:9px; }
.vhc-kpi-ico {
	display:inline-flex; width:32px; height:32px;
	align-items:center; justify-content:center;
	border-radius:9px; background:rgba(0,176,212,0.12);
	color:var(--accent); flex-shrink:0;
}
.vhc-kpi-ico svg { width:17px; height:17px; }
.vhc-kpi-num { display:block; color:#0a0f17; font-weight:800; font-size:1.1rem; line-height:1; }
.vhc-kpi-lab { display:block; color:#7a8799; font-size:.68rem; margin-top:1px; }

/* Posizioni sfalsate — composizione a triangolo dinamico */
.vhc--kpi:nth-of-type(1) { top:0;   left:0;   animation-delay:0s;  }
.vhc--kpi:nth-of-type(2) { top:38%; right:-8px; animation-delay:-3s; }
.vhc--kpi:nth-of-type(3) { bottom:0; left:0; animation-delay:-5s; }

/* ---- DESTRA: copy ---- */
.vre-hero-copy { position:relative; z-index:2; }
.vre-hero-title { font-weight:800; font-size:clamp(2.5rem,5vw,3.75rem); line-height:1.05; letter-spacing:-0.025em; margin:0 0 0.3em; color:#fff; }
.vre-hero-sub { color:rgba(255,255,255,0.82); font-size:clamp(1rem,1.3vw,1.125rem); max-width:52ch; margin:0 0 0.8rem; line-height:1.5; }
.vre-hero-points { list-style:none; margin:0 0 0.9rem; padding:0; display:flex; flex-direction:column; gap:7px; }
.vre-hero-points li { display:flex; align-items:center; gap:12px; color:rgba(255,255,255,0.92); font-size:clamp(1rem,1.15vw,1.1rem); font-weight:500; white-space:nowrap; }
.vre-hero-points svg { width:22px; height:22px; flex-shrink:0; color:var(--accent); }
.vre-hero-cta { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.vre-hero-note { color:rgba(255,255,255,0.55); font-size:.85rem; letter-spacing:.02em; }

/* Numeri (accento) — sezioni interne */
.vre-num { color:var(--accent); font-weight:800; line-height:1; font-size:clamp(2.2rem,4vw,3rem); letter-spacing:-0.01em; }

/* prefers-reduced-motion: niente float card */
@media (prefers-reduced-motion: reduce){ .vhc{ animation:none; } }

/* Overlay gradiente sulle sezioni dark per profondità */
.vre-dark:not(.vre-hero):not(.vre-photo)::before {
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(ellipse 80% 60% at 60% 40%, rgba(0,176,212,0.06), transparent 70%);
	pointer-events:none;
	z-index:1;
}

/* ---------- Card comuni: struttura con glassmorphism leggero ---------- */
.vre-stat, .vre-step, .vre-why-card, .vre-deal {
	background: var(--sec-card);
	border: 1px solid var(--sec-bd);
	border-radius: var(--glass-radius);
	transition: transform .4s var(--vc-ease,ease), border-color .4s ease, box-shadow .4s ease;
}

/* KPI cards su light: vetro leggero */
.vre-light .vre-stat {
	background: rgba(255,255,255,0.72);
	backdrop-filter: blur(var(--glass-blur));
	-webkit-backdrop-filter: blur(var(--glass-blur));
	border: 1px solid rgba(20,30,50,0.08);
}
/* Card dark (why): white su dark — override glass scuro */
.vre-dark .vre-why-card {
	background: #ffffff !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border: none !important;
}

.vre-light .vre-stat, .vre-light .vre-why-card, .vre-light .vre-step, .vre-light .vre-deal { box-shadow:0 8px 28px -18px rgba(20,30,50,.3); }
.vre-stat:hover, .vre-why-card:hover, .vre-deal:hover { transform: translateY(-5px); border-color: rgba(0,176,212,.35); }
.vre-step:hover { border-color: rgba(0,176,212,.5); box-shadow: 0 0 0 3px rgba(0,176,212,.18), 0 16px 44px -16px rgba(0,176,212,.30); }

/* ---------- SNAPSHOT ---------- */
.vre-stats-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin:0 0 var(--sp-sm); align-items:stretch; }
.vre-stat { padding:32px 16px 28px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; gap:.45rem; box-sizing:border-box; }
.vre-stat .vre-num { font-size:clamp(2rem,3.2vw,2.8rem); }
.vre-stat-label { font-weight:700; font-size:1rem; }
.vre-stat-note { font-size:.85rem; }

/* Snapshot: numeri neri, label blu, note grigia */
.vre-snapshot .vre-num { color:var(--sec-head) !important; }
.vre-snapshot .vre-stat-label { color:var(--accent); }
.vre-snapshot .vre-stat-note { color:var(--sec-note); }
.vre-overview { border-top:1px solid var(--sec-bd); max-width:880px; margin:0 auto; }
.vre-ov-row { display:grid; grid-template-columns:170px 1fr; gap:24px; padding:18px 4px; border-bottom:1px solid var(--sec-bd); }
.vre-ov-k { color:var(--accent); font-weight:700; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; padding-top:2px; }
.vre-ov-v { color:var(--sec-val); font-size:1.02rem; }

/* ---------- STRATEGY (blu scuro + onde originali da background-2.png) ---------- */
.vre-strategy.vre-photo {
	background-color: #10233F;
	background-image:
		radial-gradient(ellipse 70% 60% at 80% 20%, rgba(0,176,212,0.28), transparent 60%),
		radial-gradient(ellipse 60% 50% at 10% 85%, rgba(0,176,212,0.18), transparent 55%),
		linear-gradient(180deg, #1C355C 0%, #10233F 55%, #0A1930 100%);
	background-attachment: scroll;
}
/* .vre-strategy .vre-h2: ereditato da .vre-h2 — nessun override */
/* Niente overlay foto */
.vre-strategy.vre-photo::before { display:none; }
/* Le onde originali (::after con --pattern background-2.png) RESTANO visibili */
.vre-strategy.vre-section::after { opacity: 0.40; display:block; }

.vre-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; perspective:1100px; align-items:stretch; }
.vre-step { padding:22px 22px; text-align:left; display:flex; flex-direction:column; height:100%; box-sizing:border-box; }

/* Step: card BIANCHE con testo NERO */
.vre-strategy .vre-step {
	background: #fff;
	border: 1px solid rgba(20,30,50,0.10);
	box-shadow: 0 8px 32px -12px rgba(2,13,28,0.30);
}
.vre-strategy .vre-step:hover {
	border-color: rgba(0,176,212,0.40);
	box-shadow: 0 16px 44px -16px rgba(0,176,212,0.30);
}

/* Icona quadrata colorata */
.vre-step-ico {
	display:inline-flex; align-items:center; justify-content:center;
	width:52px; height:52px; border-radius:14px;
	margin-bottom:18px; flex-shrink:0;
}
.vre-step-ico--1 { background:linear-gradient(135deg,#D6F5FA,#66D3EA); }
.vre-step-ico--2 { background:linear-gradient(135deg,#66D3EA,#00B0D4); }
.vre-step-ico--3 { background:linear-gradient(135deg,#00B0D4,#027A93); }
.vre-step-ico--4 { background:linear-gradient(135deg,#027A93,#027A93); }

.vre-strategy .vre-step .vre-step-t,
.vre-strategy .vre-step h3 { font-size:1.375rem; font-weight:700; margin:0 0 .6rem; color:#0a0f17 !important; }
.vre-strategy .vre-step .vre-step-t,
.vre-strategy .vre-step h3 { font-family: 'Inter', sans-serif !important; }
.vre-strategy .vre-step .vre-step-d,
.vre-strategy .vre-step p { font-size:1rem; line-height:1.65; color:#3a4455 !important; margin:0; }

/* ---------- WHY section — sfondo light con pattern ---------- */
.vre-why.vre-light {
	background-color: var(--sec-bg);
	background-image: none;
}
.vre-why.vre-light::before { display:none; }
.vre-why.vre-section::after { display:block; opacity:0.45; }

/* ---------- WHY cards — staggered bento ----------
   Due colonne flex indipendenti: ogni colonna impila le proprie card con un
   gap fisso, cosi le distanze restano coerenti anche se il testo di una card
   va a capo su piu' righe delle altre (niente accoppiamento di riga come nel
   grid classico). */
.vre-why-grid {
	display:flex;
	gap:32px;
	align-items:flex-start;
}
.vre-why-col {
	flex:1 1 0;
	display:flex;
	flex-direction:column;
	gap:14px;
	min-width:0;
}
.vre-why-col-offset { margin-top:44px; }
.vre-why-card {
	padding:28px 24px;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	text-align:left;
	box-sizing:border-box;
	background: #ffffff !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border: 1px solid rgba(0,0,0,0.08) !important;
	box-shadow: 0 2px 12px rgba(0,0,0,0.06);
	transition: box-shadow .3s, transform .4s var(--vc-ease,ease), border-color .3s;
}
.vre-why-card:hover {
	background: #ffffff !important;
	border-color: rgba(0,176,212,0.40) !important;
	box-shadow: 0 8px 32px rgba(0,0,0,0.10);
	transform: translateY(-5px);
}
.vre-why-ico {
	display:inline-flex !important;
	width:52px; height:52px;
	align-items:center; justify-content:center;
	border-radius:12px;
	background: var(--accent) !important;
	border: none;
	color: #fff !important;
	margin-bottom:1.1rem;
	flex-shrink:0;
	pointer-events:none;
	user-select:none;
	opacity:1 !important;
	visibility:visible !important;
	transition: background .3s, transform .3s;
}
.vre-why-ico svg { width:26px; height:26px; }
.vre-why-card:hover .vre-why-ico {
	background: var(--accent-dk) !important;
	transform: translateY(-2px);
}
.vre-why-t { font-size:1.375rem; font-weight:700; margin:0 0 .5rem; color:#0a0f1e !important; }
.vre .vre-why-t { font-family:'Inter', sans-serif !important; }
.vre-why-d { font-size:1rem; line-height:1.7; color:#5B6B7F !important; }

/* Card dark (why): white su dark — override glass scuro */
.vre-dark .vre-why-card {
	background: #ffffff !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border: none !important;
}
.vre-dark .vre-why-card .vre-why-t { color:#0a0f1e !important; }
.vre-dark .vre-why-card .vre-why-d { color:#4a5568 !important; }
.vre-why-d { font-size:1rem; line-height:1.7; color:#4a5568 !important; }

/* ---------- PORTFOLIO (stile crowdfunding immobiliare) ---------- */
.vre-deals { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.vre-deal { padding:0; overflow:hidden; display:flex; flex-direction:column; cursor:pointer; }
.vre-deal-media { position:relative; aspect-ratio:16/11; background-size:cover; background-position:center; transition:transform .7s var(--vc-ease,ease); }
.vre-deal-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.35)); }
.vre-deal:hover .vre-deal-media { transform:scale(1.06); }
.vre-deal-tag { position:absolute; z-index:2; top:14px; left:14px; background:var(--accent); color:#fff; font-weight:700; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; padding:7px 12px; border-radius:8px; }
/* Deal body: vetro bianco leggero per effetto "card dentro la card" */
.vre-deal-body {
	padding:20px 22px 24px;
	display:flex;
	flex-direction:column;
	flex:1;
	background: rgba(255,255,255,0.88);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.vre-deal-city { font-size:1.375rem; font-weight:700; margin:0; color:#0A1930; }
.vre .vre-deal-city { font-family:'Inter', sans-serif !important; }
.vre-deal-loc { color:var(--sec-note); font-size:.9rem; margin:.15rem 0 .2rem; }
.vre-deal-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; border-top:1px solid var(--sec-bd); border-bottom:1px solid var(--sec-bd); padding:14px 0; margin:.7rem 0 1rem; }
.vre-deal-meta div { display:flex; flex-direction:column; gap:3px; }
.vre-deal-meta span { font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; color:var(--sec-note); }
.vre-deal-meta strong { font-size:.92rem; color:var(--sec-val); font-weight:700; white-space:nowrap; }
.vre-deal-foot { display:flex; align-items:flex-end; justify-content:space-between; margin-top:auto; }
.vre-deal-roi { display:flex; flex-direction:column; color:var(--accent); font-size:1.9rem; font-weight:800; line-height:1; }
.vre-deal-roi small { color:var(--sec-note); font-size:.7rem; font-weight:500; letter-spacing:.04em; margin-top:4px; }
.vre-deal-link { color:var(--accent); font-weight:700; font-size:.86rem; transition:transform .3s ease; text-decoration:none; }
.vre-deal:hover .vre-deal-link { transform:translateX(4px); }

/* ---------- PROCESS (sinistra sticky / destra un step alla volta) ---------- */
/* min-height gestita interamente dal JS (measure → setSectionHeight). Il fallback 0 evita
   il conflict CSS/inline-style che causava lo step-scroll errato prima del primo RAF. */
.vre-process { overflow:visible; min-height:0; padding-top:0 !important; padding-bottom:0 !important; }
.vre-process.vre-section::after { display:block; opacity:0.35; }
.vre-proc-layout {
	display:grid; grid-template-columns:0.85fr 1.15fr;
	gap:clamp(30px,5vw,80px); align-items:center;
	position:sticky; top:80px; height:calc(100vh - 80px);
}
.vre-proc-aside { position:static; align-self:center; }
.vre-proc-aside .vre-eyebrow, .vre-proc-aside .vre-h2, .vre-proc-aside .vre-lead { text-align:left; margin-left:0; margin-right:0; }
.vre-proc-aside .vre-h2.vre-reveal::after,
.vre-proc-aside .vre-h2.vre-reveal.vre-in::after { display:none; }
.vre-proc-aside .vre-btn { margin-top:1.7rem; }

/* Step in colonna scorrevole — active centrato, peek prev/next */
.vre-proc-steps {
	position:relative;
	overflow:hidden;
	align-self:center;
	/* height settata via JS */
	-webkit-mask-image:linear-gradient(to bottom, transparent 0px, black 40px, black calc(100% - 40px), transparent 100%);
	mask-image:linear-gradient(to bottom, transparent 0px, black 40px, black calc(100% - 40px), transparent 100%);
}
.vre-proc-track {
	display:flex;
	flex-direction:column;
	gap:20px;
	/* nessuna transition CSS: la posizione è gestita con lerp/RAF in JS */
	will-change:transform;
}
.vre-pstep {
	flex-shrink:0;
	text-align:center;
	padding:28px 28px 24px;
	border:1px solid var(--sec-bd);
	border-radius:var(--glass-radius);
	background:rgba(255,255,255,0.85);
	backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
	opacity:0;
	box-shadow:0 8px 28px -18px rgba(20,30,50,.25);
	/* opacity gestita da JS continuamente; solo border/shadow/bg in CSS */
	transition:border-color 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
	pointer-events:none;
	will-change:opacity;
}
.vre-process.vre-proc-ready .vre-pstep { opacity:0; }
.vre-process .vre-pstep.is-active {
	pointer-events:auto;
	border-color:rgba(0,176,212,.50);
	box-shadow:0 0 0 1px rgba(0,176,212,.15), 0 20px 48px -24px rgba(0,176,212,.35);
	background:rgba(255,255,255,0.95);
}
.vre-pstep:not(.is-active) .vre-pstep-ico { animation:none; }
.vre-ico-wrap {
	position:relative; display:inline-block; margin-bottom:1rem;
}
.vre-ico-wrap::before {
	content:''; position:absolute;
	width:7px; height:7px; border-radius:50%;
	background:rgba(0,176,212,.50);
	top:-5px; right:5px; z-index:1; pointer-events:none;
}
.vre-ico-wrap::after {
	content:''; position:absolute;
	width:4px; height:4px; border-radius:50%;
	background:rgba(0,176,212,.60);
	bottom:2px; left:-7px; z-index:1; pointer-events:none;
}
.vre-ico-wrap .vre-ico-dot {
	position:absolute; width:4px; height:4px; border-radius:50%;
	background:rgba(0,176,212,.35);
	bottom:-5px; right:12px; pointer-events:none;
}
/* ── Bubble scura stile hero ── */
.vre-pstep-ico {
	display:inline-flex; width:74px; height:74px;
	align-items:center; justify-content:center; border-radius:50%;
	background: radial-gradient(circle at 36% 32%, #1e3256, #0A1930);
	border: 1px solid rgba(0,176,212,.22);
	box-shadow:
		0 4px 14px rgba(0,0,0,.40),
		0 2px 4px rgba(0,0,0,.30),
		inset 0 1px 2px rgba(255,255,255,.07);
	color:#fff; margin-bottom:0;
	animation:vre-float 4.5s ease-in-out infinite;
}
.vre-pstep-ico svg { width:52px; height:52px; }


/* PNG icon: la bubble è già dentro l'immagine */
.vre-pstep-ico--img {
	background:none !important;
	border:none !important;
	box-shadow:none !important;
}
.vre-pstep-ico--img img {
	width:100%; height:100%; border-radius:50%; object-fit:cover; display:block;
}
.vre-pstep.is-active .vre-pstep-ico {
	box-shadow:
		0 0 0 8px rgba(0,176,212,.12),
		0 8px 28px rgba(0,0,0,.35),
		inset 0 1px 2px rgba(255,255,255,.08);
}
.vre-pstep-pill { display:inline-block; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); background:var(--accent-12); padding:5px 13px; border-radius:20px; margin-bottom:.85rem; font-weight:700; }
.vre-pstep-t { font-size:1.375rem; font-weight:700; margin:0 0 .45rem; }
.vre .vre-pstep-t { font-family:'Inter', sans-serif !important; }
.vre-pstep-d { font-size:1rem; line-height:1.65; margin:0 auto; max-width:48ch; color:#4a5568; }
@keyframes vre-float { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-7px);} }
@media (prefers-reduced-motion: reduce){ .vre-process.vre-proc-ready .vre-pstep{ opacity:1; } .vre-pstep-ico{ animation:none; } }

/* ---------- CTA (chiaro stile Company Snapshot — sfondo #F5F7F8 + onde) ---------- */
.vre-cta { text-align:center; }
.vre-cta .vre-eyebrow { display:inline-block; color:#1C355C; }
.vre-cta-inner { max-width:780px; margin:0 auto; }
.vre-cta-title { font-weight:800; font-size:clamp(2.7rem,6vw,4.4rem); line-height:1.08; letter-spacing:-0.015em; margin:0 0 .8em; color:#0a0f17 !important; }
.vre-cta-hl { position:relative; white-space:nowrap; }
.vre-cta-hl::after { content:""; position:absolute; left:0; right:0; bottom:.02em; height:.1em; background:var(--accent); border-radius:3px; opacity:0.7; }
.vre-cta-contact { margin:1.8rem 0 0; font-size:.9rem; color:#8b96a6; letter-spacing:.03em; }
.vre-cta .vre-btn { background:var(--accent); color:#fff !important; }
.vre-cta .vre-btn:hover { background:var(--accent-dk); box-shadow:0 12px 34px -10px rgba(0,176,212,.45); transform:translateY(-2px); }

/* =====================================================================
   EFFETTI PREMIUM
   ===================================================================== */

/* Barra di avanzamento (fuori da .vre → colori espliciti) */
.vre-progress { position:fixed; top:0; left:0; height:3px; width:100%; transform:scaleX(0); transform-origin:0 50%; background:linear-gradient(90deg,#00B0D4,#66D3EA); z-index:99999; pointer-events:none; }

/* Tilt + riflesso SOLO su KPI e step strategia */
.vre-stat, .vre-step, .vre-why-card, .vre-deal { position:relative; will-change:transform; }
.vre-stat::before, .vre-step::before {
	content:""; position:absolute; inset:0; border-radius:inherit;
	background:radial-gradient(240px circle at var(--gx,50%) var(--gy,50%), rgba(255,255,255,0.16), transparent 60%);
	opacity:0; transition:opacity .35s ease; pointer-events:none; z-index:4;
}
.vre-stat:hover::before, .vre-step:hover::before { opacity:1; }
.vre-light .vre-stat::before {
	background:radial-gradient(240px circle at var(--gx,50%) var(--gy,50%), rgba(0,176,212,0.18), transparent 60%);
}
/* Portfolio: hover diverso (glow d'accento, niente tilt) */
.vre-deal:hover { border-color:rgba(0,176,212,.55); box-shadow:0 26px 60px -30px rgba(0,176,212,.55); }
/* Why: niente tilt, solo icona animata (già) + lift dal blocco card comune */

/* Sottolineatura animata sotto i titoli di sezione */
.vre-section .vre-h2 { position:relative; padding-bottom:.55em; }
.vre-section .vre-h2.vre-reveal::after { content:""; position:absolute; left:50%; bottom:0; width:64px; height:3px; border-radius:2px; background:var(--accent); transform:translateX(-50%) scaleX(0); transform-origin:center; transition:transform .9s cubic-bezier(.2,.7,.2,1) .3s; }
.vre-section .vre-h2.vre-reveal.vre-in::after { transform:translateX(-50%) scaleX(1); }

/* Marquee mercati — stesso wrapper hero, bg trasparente → sfondo continuo garantito */
.vre-marquee {
	position: relative;
	overflow: hidden;
	background: transparent;
	padding: 48px 0 32px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.vre-marquee-track {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	white-space: nowrap;
	animation: vre-mq 40s linear infinite;
}
.vre-marquee span {
	font-weight: 500;
	font-size: clamp(1rem, 1.4vw, 1.35rem);
	color: #fff;
	padding: 0 2.5rem;
	letter-spacing: 0.02em;
	line-height: 1;
}
.vre-marquee:hover .vre-marquee-track { animation-play-state: paused; }
@keyframes vre-mq { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .vre-marquee-track { animation: none; } }

/* Scroll cue (hero) */
.vre-scrollcue { position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:3; }
.vre-mouse { display:block; width:24px; height:38px; border:2px solid rgba(255,255,255,.55); border-radius:14px; position:relative; }
.vre-wheel { position:absolute; left:50%; top:7px; width:3px; height:7px; border-radius:2px; background:#fff; transform:translateX(-50%); animation:vre-wheel 1.6s ease-in-out infinite; }
@keyframes vre-wheel { 0%{opacity:0;transform:translate(-50%,0);} 30%{opacity:1;} 100%{opacity:0;transform:translate(-50%,12px);} }
@media (prefers-reduced-motion: reduce){ .vre-marquee-track,.vre-wheel{ animation:none; } }

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
	.vre { --sp-lg: clamp(48px, 8vw, 80px); --sp-md: clamp(40px, 6vw, 64px); --sp-sm: clamp(28px, 4vw, 40px); }
	.vre-stats-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
	.vre-steps{ grid-template-columns:repeat(2,1fr); gap:14px; }
	.vre-deals{ grid-template-columns:repeat(2,1fr); gap:16px; }
	.vre-why-grid{ gap:14px; }
	.vre-why-col{ gap:14px; }
	.vre-process{ min-height:auto; }
	.vre-proc-layout{ grid-template-columns:1fr; gap:40px; position:static; height:auto; }
	.vre-proc-aside{ position:static; min-height:auto; display:block; }
	.vre-proc-steps{ overflow:visible; -webkit-mask-image:none; mask-image:none; height:auto !important; }
	.vre-proc-track{ display:flex; flex-direction:column; gap:20px; transform:none !important; transition:none; }
	.vre-pstep{ opacity:1 !important; pointer-events:auto !important; }
	.vre-photo{ background-attachment:scroll; }
}
/* Hero: impila a colonna singola (copy sopra, visual sotto) */
@media (max-width:900px){
	.vre-hero{ min-height:auto; padding:clamp(40px,8vh,90px) 0; }
	.vre-hero-grid{ grid-template-columns:1fr; gap:48px; }
	.vre-hero-copy{ order:1; }
	.vre-hero-visual{ order:2; min-height:340px; }
}
@media (max-width:680px){
	.vre { --sp-lg: clamp(36px, 7vw, 64px); --sp-md: clamp(28px, 5vw, 48px); --sp-sm: 24px; }
	.vre-stats-grid{ grid-template-columns:repeat(2,1fr); }
	.vre-steps{ grid-template-columns:1fr; }
	.vre-deals{ grid-template-columns:1fr; max-width:440px; margin:0 auto; }
	.vre-why-grid{ flex-direction:column; gap:14px; }
	.vre-why-col-offset{ margin-top:0; }
	.vre-why-card{ padding:26px 24px; }
	/* Hero card più piccole */
	.vre-hero-visual{ min-height:300px; }
	.vhc--deal{ width:min(82%,280px); }
	.vhc--stat{ width:min(70%,230px); }
	.vre-hero-cta{ gap:14px; }
}

/* =====================================================================
   ICONA × RETURN MULTIPLE (floating card hero)
   ===================================================================== */
.vhc-kpi-ico--mult {
	display:inline-flex; width:32px; height:32px; align-items:center; justify-content:center;
	border-radius:9px; background:rgba(0,176,212,0.12); color:var(--accent); flex-shrink:0;
	font-size:1rem; font-weight:900; font-family:'Inter', sans-serif;
}

/* =====================================================================
   DEAL DETAIL PAGES  (.vrd-*)
   ===================================================================== */

/* Variabili palette (disponibili senza #vre) */
#vrd-page {
	--accent: #00B0D4;
	--accent-2: #027A93;
	--accent-dk: #027A93;
	background: #F5F7F8;
	min-height: 100vh;
}

/* Container */
.vrd-container { max-width:1160px; margin:0 auto; padding:0 clamp(20px,4vw,48px); }

/* Palette (senza #vre) */
#vrd-page {
	--accent:#00B0D4; --accent-2:#027A93; --accent-dk:#027A93;
	background:#F5F7F8; min-height:100vh;
}

/* ── Page header (trasparente — sfondo uniforme #F5F7F8) ── */
.vrd-page-header {
	background:transparent;
	padding:clamp(28px,4vh,44px) 0 clamp(20px,3vh,32px);
}
.vrd-header-inner { display:flex; flex-direction:column; gap:10px; align-items:center; text-align:center; }
.vrd-back-pill {
	display:inline-flex; align-items:center; gap:7px;
	background:var(--accent); color:#fff !important;
	font-size:.8rem; font-weight:700; letter-spacing:.04em;
	padding:8px 18px; border-radius:50px;
	text-decoration:none; transition:background .2s;
	align-self:flex-start;
}
.vrd-back-pill:hover { background:var(--accent-2); }
.vrd-page-title {
	font-size:clamp(1.7rem,4vw,2.8rem);
	font-weight:700; color:#0a0f17; margin:0; line-height:1.05;
}
.vrd-page-tag {
	display:inline-block; background:var(--accent); color:#fff;
	font-size:.68rem; font-weight:700; letter-spacing:.12em;
	text-transform:uppercase; padding:4px 12px; border-radius:20px;
}
.vrd-page-tag--exited { background:#22c55e; }

/* ── Body a due colonne ── */
.vrd-body {
	display:grid;
	grid-template-columns:1fr 360px;
	gap:clamp(24px,4vw,48px);
	padding-top:clamp(28px,5vh,48px);
	padding-bottom:clamp(48px,8vh,80px);
	align-items:start;
}

/* Sezioni testo */
.vrd-section { margin-bottom:38px; }
.vrd-h2 {
	font-size:1.05rem; font-weight:800; color:#0a0f17;
	margin:0 0 16px; padding-bottom:10px;
	border-bottom:2px solid #e4eaf3;
}
.vrd-section p { font-size:.95rem; line-height:1.75; color:#4a5568; margin:0; }
.vrd-section p + p { margin-top:1em; }

/* ── Before / After auto-slideshow ── */
.vrd-bf-wrap {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
	margin-bottom:6px;
}
.vrd-bf-col-head {
	display:flex; align-items:center; gap:8px; margin-bottom:8px;
}
.vrd-bf-label {
	font-size:.7rem; font-weight:800; text-transform:uppercase;
	letter-spacing:.1em; padding:4px 12px; border-radius:6px; display:inline-block;
}
.vrd-bf-label--before { background:rgba(0,0,0,.07); color:#444; }
.vrd-bf-label--after  { background:rgba(0,176,212,.18); color:var(--accent-dk); }

/* Slideshow container */
.vrd-slides {
	position:relative; border-radius:14px; overflow:hidden;
	aspect-ratio:4/3; background:#dde3ed;
}
.vrd-slides img {
	position:absolute; inset:0;
	width:100%; height:100%; object-fit:cover;
	opacity:0;
	animation:vrd-fade 9s infinite ease-in-out;
}
.vrd-slides img:nth-child(1) { animation-delay:0s; }
.vrd-slides img:nth-child(2) { animation-delay:3s; }
.vrd-slides img:nth-child(3) { animation-delay:6s; }

@keyframes vrd-fade {
	0%   { opacity:0; }
	5%   { opacity:1; }
	28%  { opacity:1; }
	33%  { opacity:0; }
	100% { opacity:0; }
}

/* Dots indicator */
.vrd-dots { display:flex; gap:6px; justify-content:center; margin-top:8px; }
.vrd-dot  { width:6px; height:6px; border-radius:50%; background:#c8d3e0; }
.vrd-dot:nth-child(1){ animation:vrd-dot-active 9s infinite 0s; }
.vrd-dot:nth-child(2){ animation:vrd-dot-active 9s infinite 3s; }
.vrd-dot:nth-child(3){ animation:vrd-dot-active 9s infinite 6s; }
@keyframes vrd-dot-active{
	0%  { background:#00B0D4; }
	33% { background:#00B0D4; }
	34% { background:#c8d3e0; }
	100%{ background:#c8d3e0; }
}

.vrd-bf-hint { text-align:center; font-size:.72rem; color:#9aa5b4; margin:4px 0 0; }

/* ── Investment Thesis ── */
.vrd-thesis-highlights {
	display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:20px;
}
.vrd-th {
	background:#fff; border:1px solid #e4eaf3; border-radius:12px;
	padding:16px 12px; text-align:center;
	display:flex; flex-direction:column; align-items:center; gap:5px;
}
.vrd-th svg { width:22px; height:22px; color:var(--accent); margin-bottom:2px; }
.vrd-th strong { font-size:1rem; font-weight:900; color:#0a0f17; line-height:1.1; }
.vrd-th span { font-size:.72rem; color:#7a8899; line-height:1.3; }

.vrd-thesis-text {
	font-size:.92rem; line-height:1.75; color:#4a5568; margin:0 0 20px;
	padding:14px 18px; background:#fff;
	border-left:3px solid var(--accent); border-radius:0 10px 10px 0;
}

.vrd-phases {
	display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
}
.vrd-phase {
	background:#fff; border:1px solid #e4eaf3; border-radius:12px;
	padding:18px 16px; position:relative;
}
.vrd-phase-num {
	display:block; font-size:.62rem; font-weight:900; letter-spacing:.18em;
	color:var(--accent); text-transform:uppercase; margin-bottom:8px;
}
.vrd-phase-t { font-size:.92rem; font-weight:800; color:#0a0f17; margin:0 0 6px; }
.vrd-phase-d { font-size:.8rem; line-height:1.6; color:#5B6B7F; margin:0; }

/* Gallery thumbnails */
.vrd-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.vrd-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:10px; display:block; transition:transform .25s; }
.vrd-gallery img:hover { transform:scale(1.04); }

/* Single hero photo (Barcelona/Bergamo) */
.vrd-hero-photo { border-radius:14px; overflow:hidden; }
.vrd-hero-photo img { width:100%; max-height:360px; object-fit:cover; display:block; }

/* ── Sidebar KPI ── */
.vrd-sidebar { position:sticky; top:24px; }
.vrd-kpi-card {
	background:linear-gradient(150deg,#0d2240 0%,#1a3a5c 100%);
	border-radius:18px; padding:clamp(20px,3vw,28px);
	color:#fff; margin-bottom:14px;
}
.vrd-eyebrow { font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.45); margin:0 0 16px; }
.vrd-status { display:inline-block; padding:4px 12px; border-radius:20px; font-size:.72rem; font-weight:700; margin-bottom:20px; }
.vrd-status--active { background:rgba(0,176,212,.2); color:#66D3EA; }
.vrd-status--exited { background:rgba(52,211,153,.15); color:#6ee7b7; }
.vrd-kpis { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.vrd-kpis li { display:flex; justify-content:space-between; align-items:baseline; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.08); gap:12px; }
.vrd-kpis li:last-child { border-bottom:none; }
.vrd-kpi-label { font-size:.78rem; color:rgba(255,255,255,.55); flex-shrink:0; }
.vrd-kpi-val { font-size:.95rem; font-weight:800; color:#fff; text-align:right; }
.vrd-kpis li.hl .vrd-kpi-val { color:#66D3EA; font-size:1.05rem; }
.vrd-cta { display:block; text-align:center; background:var(--accent); color:#fff !important; padding:14px 24px; border-radius:50px; font-weight:700; font-size:.9rem; text-decoration:none; transition:background .2s,transform .2s; }
.vrd-cta:hover { background:var(--accent-2); transform:translateY(-2px); }
.vrd-sidebar-note { text-align:center; font-size:.72rem; color:#8a94a6; margin:12px 0 0; line-height:1.5; }

/* ── Layout colonna singola (deal senza sidebar) ── */
.vrd-body--full {
	max-width:820px;
	margin:0 auto;
	padding:clamp(28px,5vh,48px) clamp(20px,4vw,48px) clamp(48px,8vh,80px);
}

/* ── KPI cards white style ── */
.vrd-kpi-row {
	display:flex; gap:12px; flex-wrap:wrap;
	margin-bottom:32px;
}
.vrd-kpi-item {
	flex:1; min-width:100px;
	background:#fff;
	border-radius:16px;
	padding:22px 12px;
	text-align:center;
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
	box-shadow:0 4px 24px rgba(20,30,50,.07), 0 1px 4px rgba(20,30,50,.04);
}
.vrd-kpi-item strong {
	font-size:1.45rem; font-weight:900; color:#0a0f17; line-height:1.05;
	white-space:nowrap;
}
.vrd-kpi-label {
	font-size:.75rem; font-weight:700; color:var(--accent);
	letter-spacing:.01em; line-height:1.2; white-space:nowrap;
}
.vrd-kpi-item--hl strong { color:#0a0f17; }

/* ── Descrizione immobile ── */
.vrd-deal-desc {
	font-size:1rem; line-height:1.85; color:#4a5568;
	margin:0 0 28px; text-align:justify;
}
.vrd-deal-desc-title {
	font-size:1.25rem; font-weight:800; color:#0a0f1e;
	text-transform:none; letter-spacing:0;
	margin:0 0 12px; display:block;
}

/* ── Investment Strategy block ── */
.vrd-strategy-block {
	background:transparent;
	border:none;
	border-radius:0;
	padding:0;
	margin-bottom:32px;
}
.vrd-strategy-title {
	font-size:1.25rem; font-weight:800; color:#0a0f1e;
	text-transform:none; letter-spacing:0;
	margin:0 0 12px; display:block;
}
.vrd-strategy-text {
	font-size:.97rem; line-height:1.85; color:#4a5568;
	margin:0 0 24px; text-align:justify;
}
.vrd-strategy-nums {
	display:flex; gap:12px; flex-wrap:nowrap;
	margin-top:28px; margin-bottom:8px;
}
.vrd-sn-val {
	flex:1; min-width:0;
	background:#fff;
	border-radius:16px;
	padding:22px 10px;
	text-align:center;
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
	box-shadow:0 4px 24px rgba(20,30,50,.07), 0 1px 4px rgba(20,30,50,.04);
}
.vrd-sn-val strong {
	display:block;
	font-family:'DM Serif Display', Georgia, serif;
	font-size:clamp(1.1rem,1.8vw,1.5rem);
	font-weight:400; color:#0a0f17; line-height:1;
	white-space:nowrap;
}
.vrd-sn-val span {
	font-size:.68rem; font-weight:700; color:var(--accent);
	text-transform:uppercase; letter-spacing:.06em;
	display:block; line-height:1.3;
}
.vrd-sn-val--hl {
	border:2px solid var(--accent);
	box-shadow:0 6px 28px rgba(0,176,212,.18), 0 1px 4px rgba(20,30,50,.04);
}
.vrd-sn-val--hl strong { color:var(--accent); }
.vrd-sn-op { display:none; }

/* ── CTA centrato ── */
.vrd-cta-wrap {
	text-align:center;
	padding:32px 0 8px;
}
.vrd-btn-main {
	display:inline-flex; align-items:center; gap:9px;
	background:var(--accent); color:#fff !important;
	font-size:1.05rem; font-weight:700; letter-spacing:.01em;
	padding:17px 40px; border-radius:50px;
	text-decoration:none;
	box-shadow:0 4px 20px rgba(0,176,212,.30);
	transition:background .2s, transform .2s, box-shadow .2s;
}
.vrd-btn-main:hover {
	background:var(--accent-dk); transform:translateY(-2px);
	box-shadow:0 8px 28px rgba(0,176,212,.35);
}
.vrd-cta-note {
	margin:14px 0 0; font-size:.75rem; color:#9aa5b4; line-height:1.5;
}

/* ── Responsive ── */
@media (max-width:900px) {
	.vrd-body { grid-template-columns:1fr; }
	.vrd-sidebar { position:static; }
}
@media (max-width:600px) {
	.vrd-bf-wrap { grid-template-columns:1fr; }
	.vrd-gallery { grid-template-columns:repeat(2,1fr); }
	.vrd-thesis-highlights { grid-template-columns:repeat(2,1fr); }
	.vrd-phases { grid-template-columns:1fr; }
	.vrd-kpi-row { gap:8px; }
	.vrd-kpi-item { min-width:calc(50% - 4px); }
	.vrd-strategy-nums { gap:8px; }
}

/* =====================================================================
   DEAL DETAIL PAGES — coerenza colore con pagina Real Estate
   Badge → #66D3EA · Bottoni → #2E4A72 · Numeri evidenza → #2E4A72
   Etichette/label → #1C355C
   ===================================================================== */
#vrd-page .vrd-page-tag { background: #66D3EA; }
#vrd-page .vrd-back-pill,
#vrd-page .vrd-cta,
#vrd-page .vrd-btn-main { background: #2E4A72; box-shadow: none; }
#vrd-page .vrd-back-pill:hover,
#vrd-page .vrd-cta:hover,
#vrd-page .vrd-btn-main:hover { background: #1e3355 !important; box-shadow: 0 8px 28px -10px rgba(46,74,114,.45); }
#vrd-page .vrd-kpi-label,
#vrd-page .vrd-phase-num,
#vrd-page .vrd-sn-val span { color: #1C355C; }
#vrd-page .vrd-sn-val--hl { border-color: #2E4A72; }
#vrd-page .vrd-sn-val--hl strong { color: #2E4A72; }
#vrd-page .vrd-thesis-text { border-left-color: #2E4A72; }

/* =====================================================================
   FOOTER — coerenza tra tutte le pagine (uguale a Real Estate)
   Il footer Elementor viene ripetuto per pagina; su Private Equity resta
   agganciata una sezione placeholder vuota dopo il footer.
   ===================================================================== */
body.vc-page-private-equity .elementor-element-af9909d { display: none !important; }

/* =====================================================================
   PRIVATE EQUITY — bespoke page (.vpe-*)
   Stessa palette di Real Estate: navy #0A1930, accent #00B0D4, onde.
   ===================================================================== */

/* Tokens locali */
.vpe-hero,
.vpe-thesis,
.vpe-pillars,
.vpe-owners,
.vpe-cta {
	--accent:   #00B0D4;
	--accent-2: #66D3EA;
	--accent-12: rgba(0,176,212,.12);
	--navy:     #0A1930;
	--navy-2:   #0A1930;
	--text:     rgba(190,205,220,.88);
	--text-dim: rgba(190,205,220,.55);
	--glass-bg: rgba(255,255,255,.04);
	--glass-bd: rgba(0,176,212,.15);
	font-family: 'Inter', sans-serif;
	-webkit-font-smoothing: antialiased;
}

/* body:has(#vpe) già in cima — rimosso il fallback .vpe-hero (classe inesistente) */

/* Container */
.vpe-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 clamp(20px,5vw,60px);
}

/* ── HERO ── */
.vpe-hero {
	position: relative;
	min-height: 92vh;
	display: flex;
	align-items: center;
	background-color: #10233F;
	background-image:
		radial-gradient(ellipse 70% 60% at 80% 25%, rgba(0,176,212,0.35), transparent 60%),
		radial-gradient(ellipse 60% 55% at 10% 85%, rgba(0,176,212,0.22), transparent 55%),
		linear-gradient(180deg, #1C355C 0%, #10233F 60%, #0A1930 100%);
	overflow: hidden;
}
.vpe-wave-overlay {
	position: absolute;
	inset: 0;
	background-image: url('../img/background-2.png');
	background-position: right bottom;
	background-size: 55%;
	background-repeat: no-repeat;
	opacity: .22;
	pointer-events: none;
}
.vpe-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 65% 55% at 20% 35%, rgba(0,176,212,.12) 0%, transparent 70%);
	pointer-events: none;
}
.vpe-hero-inner {
	position: relative;
	z-index: 1;
	max-width: 760px;
	animation: vpeHeroIn 1.1s cubic-bezier(.22,.61,.20,1) both;
}
@keyframes vpeHeroIn {
	from { opacity:0; transform:translateY(36px); }
	to   { opacity:1; transform:none; }
}
.vpe-eyebrow {
	display: inline-block;
	font-size: .75rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 1.4rem;
	font-weight: 500;
}
.vpe-hero-title {
	font-family: 'DM Serif Display', Georgia, serif !important;
	font-size: clamp(2.6rem, 5.5vw, 4.4rem) !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
	letter-spacing: -.025em !important;
	color: #ffffff !important;
	margin: 0 0 1.4rem !important;
}
.vpe-hero-sub {
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	color: var(--text);
	margin: 0 0 2.4rem;
	line-height: 1.6;
}
.vpe-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.vpe-pill {
	display: inline-block;
	padding: 6px 16px;
	border-radius: 50px;
	border: 1px solid rgba(0,176,212,.35);
	font-size: .8rem;
	color: rgba(190,205,220,.80);
	letter-spacing: .04em;
	background: rgba(0,176,212,.07);
	white-space: nowrap;
}

/* ── HERO SPLIT LAYOUT ── */
.vpe-hero-split {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem,4vw,4rem);
	align-items: center;
	min-height: 88vh;
	padding: 5rem 0 3rem;
	animation: vpeHeroIn 1.1s cubic-bezier(.22,.61,.20,1) both;
}

/* Padding interno grid PE */
.vpe-hero .vre-hero-grid { padding: 5rem 0 3rem; }

/* Colori testo hero PE — override su .elementor-kit-6 h1 */
.vpe-hero .vre-hero-title { color: #ffffff !important; }
.vpe-hero .vre-hero-sub   { color: rgba(255,255,255,0.82) !important; }
.vpe-hero .vre-hero-points li { color: rgba(255,255,255,0.92) !important; }

/* Visual side */
.vpe-hero-visual {
	position: relative;
	height: 420px;
}

/* Skyline SVG animato */
.vpe-corp-art {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.vpe-skyline-svg {
	width: 100%;
	max-width: 440px;
	height: auto;
	display: block;
	margin: 0 auto;
	animation: vpe-sky-float 5s ease-in-out infinite;
}
@keyframes vpe-sky-float {
	0%, 100% { transform: translateY(0px); }
	50%       { transform: translateY(-10px); }
}

.vpe-deal-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 70% 60% at 50% 48%, rgba(0,176,212,.16) 0%, transparent 70%);
	pointer-events: none;
}

/* Deal stack: 3 overlapping glassmorphism cards */
.vpe-deal-stack {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.vpe-deal-card {
	position: absolute;
	width: 260px;
	background: rgba(255,255,255,.05);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border: 1px solid rgba(0,176,212,.22);
	border-radius: 18px;
	padding: 1.4rem 1.6rem;
	box-shadow: 0 12px 40px rgba(0,0,0,.35);
	font-family: 'Inter', sans-serif;
}
.vpe-deal-card--1 {
	top: 20px; left: 50%;
	transform: translateX(-45%) rotate(-9deg);
	z-index: 1;
	opacity: .7;
}
.vpe-deal-card--2 {
	top: 110px; left: 50%;
	transform: translateX(-55%) rotate(-2deg);
	z-index: 2;
	background: rgba(0,176,212,.09);
}
.vpe-deal-card--3 {
	top: 200px; left: 50%;
	transform: translateX(-42%) rotate(5deg);
	z-index: 3;
}
.vpe-deal-top {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin-bottom: .8rem;
}
.vpe-deal-dot {
	width: 9px; height: 9px;
	border-radius: 50%;
	flex-shrink: 0;
}
.vpe-deal-sector {
	font-size: .72rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: rgba(190,205,220,.75);
	font-weight: 500;
}
.vpe-deal-rev {
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: -.01em;
	color: #fff;
	margin-bottom: .9rem;
}
.vpe-deal-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
}
.vpe-deal-stake {
	font-size: .78rem;
	color: rgba(190,205,220,.70);
}
.vpe-deal-tag {
	font-size: .68rem;
	padding: 3px 10px;
	border-radius: 50px;
	background: rgba(0,176,212,.18);
	border: 1px solid rgba(0,176,212,.30);
	color: #66D3EA;
	font-weight: 500;
	letter-spacing: .04em;
}

/* Floating white stat cards */
.vpe-hero-fcard {
	position: absolute;
	display: flex;
	align-items: center;
	gap: .75rem;
	background: #ffffff;
	border-radius: 14px;
	padding: .85rem 1.2rem;
	box-shadow: 0 8px 32px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.10);
	white-space: nowrap;
	font-family: 'Inter', sans-serif;
}
.vpe-hero-fcard strong {
	display: block;
	font-size: 1.1rem;
	font-weight: 700;
	color: #0A1930;
	line-height: 1.1;
}
.vpe-hero-fcard span {
	display: block;
	font-size: .68rem;
	color: #5B6B7F;
	margin-top: 2px;
}
.vpe-hero-fcard--1 { top: 0; right: 0; animation: vpeFcard 4.2s ease-in-out infinite; }
.vpe-hero-fcard--2 { bottom: 90px; left: 0; animation: vpeFcard 5s ease-in-out infinite 1.1s; }
.vpe-hero-fcard--3 { bottom: 10px; right: 10px; animation: vpeFcard 3.8s ease-in-out infinite .5s; }
@keyframes vpeFcard {
	0%,100% { transform: translateY(0); }
	50%      { transform: translateY(-8px); }
}

/* Text side */
.vpe-hero-text {
	position: relative;
	z-index: 1;
}
.vpe-hero-text .vpe-hero-title {
	font-size: clamp(2.8rem,5.6vw,4.8rem) !important;
	margin-bottom: 1rem !important;
}
.vpe-hero-text .vpe-hero-sub {
	margin-bottom: 1.5rem !important;
}
.vpe-hero-checks {
	list-style: none;
	padding: 0;
	margin: 0 0 1.8rem;
	display: flex;
	flex-direction: column;
	gap: .65rem;
}
.vpe-hero-checks li {
	display: flex;
	align-items: center;
	gap: .8rem;
	font-size: .95rem;
	color: var(--text);
	line-height: 1.45;
}
.vpe-check { flex-shrink: 0; width: 20px; height: 20px; }
.vpe-hero-btn { font-size: 1rem; padding: .9rem 1.8rem; }

@media (max-width: 900px) {
	.vpe-hero-split {
		grid-template-columns: 1fr;
		min-height: auto;
		padding: 6rem 0 3rem;
		gap: 2.5rem;
	}
	.vpe-hero-grid { padding: 4rem 0 2.5rem; }
	.vpe-hero-visual { height: 320px; order: 2; }
}

/* ── THESIS — luce (#F5F7F8 come RE snapshot) ── */
.vpe-thesis {
	background: #F5F7F8;
	padding: clamp(80px,10vw,140px) 0;
}
.vpe-thesis-grid {
	display: grid;
	grid-template-columns: 1fr 1.5fr;
	gap: clamp(40px,6vw,100px);
	align-items: center;
}
.vpe-thesis-stat {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: clamp(5rem,10vw,9rem);
	font-weight: 400;
	line-height: 1;
	color: #10233F;
	letter-spacing: -.04em;
}
.vpe-thesis-stat span {
	color: var(--accent);
}
.vpe-thesis-caption {
	margin-top: 1rem;
	font-size: .95rem;
	color: #8b96a6;
	line-height: 1.55;
	max-width: 26ch;
}
.vpe-section-title {
	font-family: 'DM Serif Display', Georgia, serif !important;
	font-size: clamp(1.8rem,3vw,2.6rem) !important;
	font-weight: 400 !important;
	letter-spacing: -.02em !important;
	color: #10233F !important;
	margin: 0 0 1.2rem !important;
}
.vpe-thesis .vpe-section-title { color: #10233F !important; }
.vpe-thesis-right p {
	color: #5B6B7F;
	line-height: 1.75;
	margin-bottom: 1rem;
}

/* ── PILLARS — blu scuro (#10233F come RE strategy) ── */
.vpe-pillars {
	background-color: #10233F;
	background-image:
		radial-gradient(ellipse 70% 60% at 80% 20%, rgba(0,176,212,0.28), transparent 60%),
		radial-gradient(ellipse 60% 50% at 10% 85%, rgba(0,176,212,0.18), transparent 55%),
		linear-gradient(180deg, #1C355C 0%, #10233F 55%, #0A1930 100%);
	padding: clamp(80px,10vw,140px) 0;
	position: relative;
	overflow: hidden;
}
.vpe-pillars::after {
	content: '';
	position: absolute;
	right: -4%; bottom: -8%;
	width: 72%; height: 92%;
	background: url('../img/background-2.png') no-repeat right bottom;
	background-size: contain;
	opacity: .30;
	pointer-events: none;
	z-index: 0;
}
.vpe-pillars .vpe-container { position: relative; z-index: 1; }
/* Card bianche su sfondo scuro (come RE strategy) */
.vpe-pillar {
	background: #ffffff !important;
	border: 1px solid rgba(20,30,50,.10) !important;
	box-shadow: 0 8px 32px -12px rgba(2,13,28,.30);
}
.vpe-pillar:hover {
	border-color: rgba(0,176,212,.35) !important;
	box-shadow: 0 12px 44px -12px rgba(2,13,28,.45), 0 0 0 3px rgba(0,176,212,.18) !important;
}
.vpe-pillar h3 { color: #10233F !important; }
.vpe-pillar p { color: #5B6B7F !important; }
.vpe-pillar-num { color: rgba(0,176,212,.22) !important; }
.vpe-pillar::before { display: none; }
/* Titolo sezione su sfondo scuro: bianco */
.vpe-pillars .vpe-section-title { color: #ffffff !important; }
.vpe-section-header {
	text-align: center;
	margin-bottom: clamp(40px,6vw,72px);
}
.vpe-section-sub {
	color: var(--text-dim);
	font-size: 1rem;
	margin-top: .5rem;
}
.vpe-pillars-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: clamp(16px,2.5vw,28px);
}
.vpe-pillar {
	background: var(--glass-bg);
	border: 1px solid var(--glass-bd);
	border-radius: 20px;
	padding: clamp(28px,3.5vw,44px);
	position: relative;
	overflow: hidden;
	transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
	cursor: default;
}
.vpe-pillar::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(0,176,212,.5), transparent);
}
.vpe-pillar:hover {
	border-color: rgba(0,176,212,.35);
	box-shadow: 0 20px 60px -20px rgba(0,176,212,.20);
	transform: translateY(-4px);
}
.vpe-pillar-num {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: 2.8rem;
	color: rgba(0,176,212,.18);
	line-height: 1;
	position: absolute;
	top: 20px; right: 24px;
}
.vpe-pillar-icon {
	width: 48px;
	height: 48px;
	color: var(--accent);
	margin-bottom: 1.4rem;
}
.vpe-pillar h3 {
	font-family: 'DM Serif Display', Georgia, serif !important;
	font-size: 1.4rem !important;
	font-weight: 400 !important;
	color: #ffffff !important;
	margin: 0 0 .9rem !important;
}
.vpe-pillar p {
	color: var(--text);
	font-size: .95rem;
	line-height: 1.7;
	margin: 0;
}

/* ── BUSINESS OWNERS — luce (#F5F7F8 come RE why/deals) ── */
.vpe-owners {
	background: #F5F7F8;
	padding: clamp(80px,10vw,140px) 0;
	position: relative;
	overflow: hidden;
}
.vpe-owners-wave { display: none; }
.vpe-owners-grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(40px,6vw,100px);
	align-items: start;
}
.vpe-eyebrow--light { color: var(--accent); }
.vpe-section-title--light { color: #10233F !important; }
.vpe-owners-left p {
	color: #5B6B7F;
	line-height: 1.75;
	margin-bottom: 1rem;
}
.vpe-owners-right {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.vpe-owner-card {
	background: #ffffff;
	border: 1px solid rgba(20,30,50,.10);
	border-radius: 16px;
	padding: 24px 28px;
	box-shadow: 0 8px 28px -18px rgba(20,30,50,.3);
}
.vpe-owner-label {
	display: block;
	font-size: .7rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: .9rem;
	font-weight: 500;
}
.vpe-owner-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .55rem;
}
.vpe-owner-list li {
	color: #5B6B7F;
	font-size: .95rem;
	padding-left: 1.2rem;
	position: relative;
}
.vpe-owner-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .6em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--accent);
	opacity: .7;
}
/* Outline btn su sfondo chiaro */
.vpe-owners .vpe-btn {
	color: #00B0D4;
	border-color: rgba(0,176,212,.55);
}
.vpe-owners .vpe-btn:hover {
	background: rgba(0,176,212,.09);
	border-color: var(--accent);
}

/* Button */
.vpe-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 1.6rem;
	padding: 14px 28px;
	border-radius: 50px;
	background: transparent;
	border: 1.5px solid rgba(0,176,212,.45);
	color: #fff;
	font-size: .95rem;
	font-weight: 500;
	text-decoration: none;
	letter-spacing: .03em;
	transition: background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.vpe-btn svg { transition: transform .25s ease; }
.vpe-btn:hover {
	background: rgba(0,176,212,.14);
	border-color: var(--accent);
	transform: translateY(-2px);
	box-shadow: 0 10px 30px -12px rgba(0,176,212,.40);
}
.vpe-btn:hover svg { transform: translateX(4px); }
.vpe-btn--accent {
	background: var(--accent);
	border-color: var(--accent);
	color: #ffffff !important;
}
.vpe-btn--accent:hover {
	background: var(--accent-2);
	border-color: var(--accent-2);
	box-shadow: 0 12px 32px -10px rgba(0,176,212,.55);
}

/* ── INVESTORS CTA — luce (#F5F7F8 come RE cta) ── */
.vpe-cta {
	background: #F5F7F8;
	padding: clamp(80px,10vw,140px) 0;
	border-top: 1px solid rgba(20,30,50,.08);
}
.vpe-cta-inner {
	text-align: center;
	max-width: 600px;
	margin: 0 auto;
}
.vpe-cta-title {
	font-family: 'DM Serif Display', Georgia, serif !important;
	font-size: clamp(2rem,4vw,3rem) !important;
	font-weight: 400 !important;
	color: #10233F !important;
	margin: 0 0 .8rem !important;
}
.vpe-cta-sub {
	color: #8b96a6;
	font-size: 1rem;
	margin: 0 0 .4rem;
}
.vpe-cta-inner .vpe-btn { margin-top: 2rem; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
	.vpe-thesis-grid { grid-template-columns: 1fr; gap: 40px; }
	.vpe-pillars-grid { grid-template-columns: 1fr; }
	.vpe-owners-grid { grid-template-columns: 1fr; }
	.vpe-thesis-stat { font-size: clamp(4rem,12vw,6rem); }
}
@media (max-width: 600px) {
	.vpe-hero { min-height: 80vh; }
	.vpe-pills { gap: 8px; }
	.vpe-pill { font-size: .72rem; padding: 5px 12px; }
}

/* =====================================================================
   PRIVATE EQUITY — contenuto dal deck (scoped #vpe)
   Riusa palette/font del design system .vre; aggiunge solo i micro-layout
   nuovi (problema, comparativa Why Now, bar-chart, insight, advantages).
   ===================================================================== */

/* ---- The Opportunity: 2-col map + succession stats ---- */

#vpe .vpe-opp-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(40px, 6vw, 80px);
	align-items: start;
	margin-top: clamp(32px, 5vw, 52px);
}
#vpe .vpe-opp-ctx {
	font-size: clamp(1rem, 1.35vw, 1.125rem); line-height: 1.65;
	color: var(--sec-text); margin: 0 0 20px;
}

/* Italy map */
#vpe .vpe-italy-wrap { margin-bottom: 14px; }
#vpe .vpe-italy-img {
	width: 100%; height: auto;
	display: block; object-fit: contain;
	mix-blend-mode: multiply;
}

/* Size breakdown bars — stile coerente con Why Now */
#vpe .vpe-sizebars { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }
#vpe .vpe-sz {
	display: grid;
	grid-template-columns: 120px 1fr 50px;
	align-items: center;
	gap: 12px;
}
#vpe .vpe-sz-lbl { font-size: .82rem; font-weight: 600; color: var(--sec-text); }
#vpe .vpe-sz-track {
	height: 22px;
	background: rgba(20,30,50,.06);
	border-radius: 6px;
	overflow: hidden;
}
#vpe .vpe-sz-fill {
	display: block; height: 100%;
	width: var(--w);
	min-width: 6px;
	background: linear-gradient(90deg, #027A93, #00B0D4);
	border-radius: 6px;
}
#vpe .vpe-sz-val {
	font-size: .82rem; font-weight: 700;
	color: var(--sec-head); text-align: right;
}
#vpe .vpe-map-src {
	font-size: .7rem; color: var(--sec-note);
	font-style: italic; margin: 0;
}

/* Right: succession stat cards — wrapper verticale, card identiche a RE snapshot */
#vpe .vpe-succ-stats { display: flex; flex-direction: column; gap: 10px; margin-bottom: 0; }
#vpe .vpe-opportunity .vre-stat { background: #ffffff; backdrop-filter: none; -webkit-backdrop-filter: none; }

/* ---- Opportunity: 2 colonne grandi, fonti allineate in basso ---- */
#vpe .vpe-opp-cols { align-items: stretch; }
#vpe .vpe-opp-left  { display: flex; flex-direction: column; }
#vpe .vpe-opp-right { display: flex; flex-direction: column; }

/* Fonti spinte in basso, allineate */
#vpe .vpe-map-src                  { margin-top: auto; padding-top: 12px; margin-bottom: 0; }
#vpe .vpe-opportunity .vpe-sources { margin-top: auto; padding-top: 12px; margin-bottom: 0; }

/* Intro text */
#vpe .vpe-opportunity .vpe-opp-ctx { font-size: 1rem; line-height: 1.6; margin-bottom: 16px; }

/* Mappa: cappata, barre avvicinate */
#vpe .vpe-italy-wrap {
    flex: 1;
    max-height: 295px;
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}
#vpe .vpe-italy-img { width: 100%; height: 100%; max-height: none; object-fit: contain; }

/* Barre */
#vpe .vpe-sizebars { gap: 8px; margin-bottom: 0; }
#vpe .vpe-sz-track { height: 20px; border-radius: 5px; }
#vpe .vpe-sz-fill  { border-radius: 5px; }
#vpe .vpe-sz-lbl   { font-size: .84rem; }
#vpe .vpe-sz-val   { font-size: .84rem; font-weight: 700; }
#vpe .vpe-sz { gap: 10px; grid-template-columns: 118px 1fr 48px; }

/* Card destra — stile RE originale, spazio uguale tra loro */
#vpe .vpe-succ-stats { flex: 1; justify-content: space-between; gap: 0; min-height: 0; }
#vpe .vpe-opportunity .vre-stat { padding: 22px 28px 20px; gap: .3rem; }
#vpe .vpe-opportunity .vre-num  { font-size: clamp(1.8rem, 2.8vw, 2.4rem) !important; }
#vpe .vpe-opportunity .vre-stat-label { font-size: .9rem; }
#vpe .vpe-opportunity .vre-stat-note  { font-size: .82rem; }
#vpe .vpe-sources {
	margin: 0; font-size: .72rem; color: var(--sec-note); font-style: italic;
}
#vpe .vpe-sources--dark { color: rgba(167,178,194,.7); }

/* ---- Why Now: comparativa due colonne con freccia ---- */
#vpe .vpe-compare {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch;
	gap: clamp(18px, 3vw, 36px); margin: 0 0 var(--sp-md);
}
#vpe .vpe-cmp-card {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: var(--glass-radius);
	padding: clamp(26px, 3vw, 40px);
	backdrop-filter: blur(var(--glass-blur));
	-webkit-backdrop-filter: blur(var(--glass-blur));
	transition: border-color .3s ease, transform .4s var(--vc-ease, ease), box-shadow .3s ease;
}
#vpe .vpe-cmp-card:hover { transform: translateY(-4px); }
#vpe .vpe-cmp-card--problem { border-color: rgba(255,255,255,0.10); }
#vpe .vpe-cmp-card--solution {
	border-color: var(--glass-bd-acc);
	background: linear-gradient(160deg, rgba(0,176,212,0.14), rgba(0,176,212,0.04));
	box-shadow: 0 18px 50px -24px rgba(0,176,212,.45);
}
#vpe .vpe-cmp-card--solution:hover { border-color: rgba(0,176,212,.55); }
#vpe .vpe-cmp-tag {
	display: inline-block; font-size: .7rem; letter-spacing: .14em;
	text-transform: uppercase; font-weight: 700; margin-bottom: 1rem;
	padding: 5px 12px; border-radius: 50px;
}
#vpe .vpe-cmp-card--problem .vpe-cmp-tag { color: #B9C6D6; background: rgba(255,255,255,0.06); }
#vpe .vpe-cmp-card--solution .vpe-cmp-tag { color: #D6F5FA; background: rgba(0,176,212,0.20); }
#vpe .vpe-cmp-title {
	font-size: 1.5rem; font-weight: 700; line-height: 1.2;
	margin: 0 0 1.2rem; color: #fff !important;
}
#vpe .vpe-cmp-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .85rem; }
#vpe .vpe-cmp-list li {
	position: relative; padding-left: 30px; color: #B9C6D6;
	font-size: .98rem; line-height: 1.55;
}
#vpe .vpe-cmp-list li::before {
	position: absolute; left: 0; top: 0; width: 20px; height: 20px;
	border-radius: 50%; display: flex; align-items: center; justify-content: center;
	font-size: .7rem; font-weight: 700;
}
#vpe .vpe-cmp-list--x li::before { content: '\00d7'; background: rgba(255,255,255,0.08); color: #B9C6D6; }
#vpe .vpe-cmp-list--check li::before { content: '\2713'; background: rgba(0,176,212,0.22); color: #66D3EA; }
#vpe .vpe-cmp-arrow {
	display: flex; align-items: center; justify-content: center;
	color: var(--accent); width: 48px; flex-shrink: 0;
}
#vpe .vpe-cmp-arrow svg { width: 34px; height: 34px; }

/* ---- Why Now: bar-chart distribuzione deal ---- */
#vpe .vpe-chart {
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.09);
	border-radius: var(--glass-radius);
	padding: clamp(26px, 3.5vw, 44px);
}
#vpe .vpe-chart-title {
	font-family: 'DM Serif Display', Georgia, serif !important;
	font-size: 1.5rem; color: #fff; margin: 0 0 .25rem;
}
#vpe .vpe-chart-sub { font-size: .9rem; color: #B9C6D6; margin: 0 0 1.8rem; }
#vpe .vpe-bars { display: flex; flex-direction: column; gap: 16px; }
#vpe .vpe-bar-row {
	display: grid; grid-template-columns: 92px 1fr auto; align-items: center; gap: 16px;
}
#vpe .vpe-bar-band { font-size: .9rem; font-weight: 600; color: #B9C6D6; text-align: right; }
#vpe .vpe-bar-track {
	position: relative; height: 30px; border-radius: 8px;
	background: rgba(255,255,255,0.05); overflow: hidden;
}
#vpe .vpe-bar-fill {
	display: block; height: 100%; width: var(--w); border-radius: 8px;
	background: linear-gradient(90deg, #027A93, #00B0D4);
	transform-origin: left center; transform: scaleX(1);
	transition: transform 1s var(--vc-ease, ease);
}
/* Animazione barre: collassate solo quando il JS e' attivo e la card non e' ancora rivelata */
.vc-js #vpe .vpe-chart:not(.vre-in) .vpe-bar-fill { transform: scaleX(0); }
.vc-js #vpe .vpe-chart.vre-in .vpe-bar-fill { transform: scaleX(1); }
#vpe .vpe-bar-fill--peak { background: linear-gradient(90deg, #027A93, #66D3EA); }
#vpe .vpe-bar-fill--gap { background: rgba(255,255,255,0.14); }
#vpe .vpe-bar-note { font-size: .8rem; color: #B9C6D6; white-space: nowrap; }
#vpe .vpe-bar-row:last-child .vpe-bar-note { color: #66D3EA; font-weight: 600; }
#vpe .vpe-bar-row:first-child .vpe-bar-note { color: var(--accent-2); font-weight: 600; }

/* ---- Investment Thesis: chiusura ---- */
#vpe .vpe-thesis-close {
	max-width: 760px; margin: var(--sp-sm) auto 0; text-align: center;
	font-size: 1.15rem; line-height: 1.6; color: var(--sec-head);
	font-weight: 500;
}

/* ---- Investment Strategy: 5 step + insight ---- */
#vpe .vre-steps.vpe-steps-5 { grid-template-columns: repeat(5, 1fr); }
#vpe .vre-step-ico--5 { background: linear-gradient(135deg, #027A93, #1e3f63); }

#vpe .vpe-insight {
	margin: var(--sp-md) 0 0;
	border-top: 1px solid rgba(255,255,255,0.12);
	padding-top: clamp(32px, 4vw, 48px);
}
#vpe .vpe-insight-kicker {
	font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
	color: var(--accent-2); font-weight: 700; margin: 0 0 1.4rem; text-align: center;
}
#vpe .vpe-insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
#vpe .vpe-ins-col {
	background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.10);
	border-radius: var(--glass-radius); padding: 26px 24px;
	transition: border-color .3s ease, transform .3s ease;
}
#vpe .vpe-ins-col:hover { transform: translateY(-3px); }
#vpe .vpe-ins-col--peak {
	border-color: var(--glass-bd-acc);
	background: linear-gradient(160deg, rgba(0,176,212,0.16), rgba(0,176,212,0.04));
}
#vpe .vpe-ins-age {
	display: block; font-family: 'DM Serif Display', Georgia, serif !important;
	font-size: 1.6rem; color: #fff; margin-bottom: .5rem;
}
#vpe .vpe-ins-col--peak .vpe-ins-age { color: #66D3EA; }
#vpe .vpe-ins-txt { font-size: .95rem; line-height: 1.6; color: #B9C6D6; margin: 0; }

/* ---- Why Vertigo PE: aside sticky + card che scorrono ---- */
#vpe .vpe-adv-layout {
	display: grid; grid-template-columns: 0.85fr 1.15fr;
	gap: clamp(40px, 6vw, 90px); align-items: start;
}
#vpe .vpe-adv-aside { position: sticky; top: 110px; }
#vpe .vpe-adv-aside .vre-eyebrow,
#vpe .vpe-adv-aside .vre-h2,
#vpe .vpe-adv-aside .vre-lead { text-align: left; margin-left: 0; margin-right: 0; }
#vpe .vpe-adv-list { display: flex; flex-direction: column; gap: 18px; }
#vpe .vpe-adv-card {
	display: flex; align-items: flex-start; gap: 22px;
	background: #fff; border: 1px solid rgba(20,30,50,0.10);
	border-radius: var(--glass-radius); padding: 28px 30px;
	box-shadow: 0 8px 28px -18px rgba(20,30,50,.3);
	transition: border-color .3s ease, transform .4s var(--vc-ease, ease), box-shadow .3s ease;
}
#vpe .vpe-adv-card:hover {
	transform: translateY(-4px); border-color: rgba(0,176,212,.4);
	box-shadow: 0 16px 44px -20px rgba(0,176,212,.35);
}
#vpe .vpe-adv-num {
	font-family: 'DM Serif Display', Georgia, serif !important;
	font-size: 2.2rem; line-height: 1; color: var(--accent);
	opacity: .55; flex-shrink: 0; min-width: 48px;
}
#vpe .vpe-adv-t { font-size: 1.3rem; font-weight: 700; margin: 0 0 .45rem; color: #0a0f1e !important; }
#vpe .vpe-adv-d { font-size: 1rem; line-height: 1.65; color: #5B6B7F !important; margin: 0; }

/* ---- Responsive PE deck ---- */
@media (max-width: 1024px) {
	#vpe .vre-steps.vpe-steps-5 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1024px) {
	#vpe .vpe-opp-cols { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 900px) {
	#vpe .vpe-compare { grid-template-columns: 1fr; }
	#vpe .vpe-cmp-arrow { transform: rotate(90deg); width: auto; height: 40px; margin: 0 auto; }
	#vpe .vpe-insight-grid { grid-template-columns: 1fr; }
	#vpe .vpe-adv-layout { grid-template-columns: 1fr; gap: 40px; }
	#vpe .vpe-adv-aside { position: static; }
}
@media (max-width: 680px) {
	#vpe .vre-steps.vpe-steps-5 { grid-template-columns: 1fr; }
	#vpe .vpe-bar-row { grid-template-columns: 70px 1fr; }
	#vpe .vpe-bar-note { grid-column: 2; text-align: left; }
	#vpe .vpe-crisis-grid { grid-template-columns: 1fr; }
	#vpe .vpe-opp-nums { grid-template-columns: 1fr 1fr; }
}

/* =====================================================================
   RE HERO — sfondo bianco con onde blu (continuum con Company Snapshot)
   ===================================================================== */

/* Sfondo hero-wrap: da navy a bianco+onde come vre-light */
#vre .vre-hero-wrap {
    background-color: #F5F7F8;
    background-image: none;
}
/* Onde: stessa opacità delle sezioni vre-light */
#vre .vre-hero-wrap::after { opacity: 0.50; }

/* Testi scuri */
#vre .vre-hero :is(h1,h2,h3) { color: #10233F !important; }
#vre .vre-hero-title          { color: #0A1930; }
#vre .vre-hero-sub            { color: #5B6B7F; }
#vre .vre-hero-points li      { color: #10233F; }
#vre .vre-hero-note           { color: #8b96a6; }

/* Check SVG nei bullet — teniamo accent blu */
#vre .vre-hero-points svg     { color: #00B0D4; }

/* Glow blu ridotti (su bianco sarebbero troppo saturi) */
#vre .vhc-glow-1 { background: radial-gradient(circle, rgba(0,176,212,0.10), transparent 70%); }
#vre .vhc-glow-2 { background: radial-gradient(circle, rgba(0,176,212,0.07), transparent 70%); }

/* Ombra monumenti più leggera su sfondo chiaro */
#vre .vre-landmarks { filter: drop-shadow(0 16px 32px rgba(20,30,50,0.14)); }

/* Marquee RE: barra navy #1C355C, testo bianco — font invariato */
#vre .vre-marquee {
    background: #1C355C;
    padding: 8px 0;
    -webkit-mask-image: none;
    mask-image: none;
}
#vre .vre-marquee span { color: #ffffff; font-weight: 700; font-size: clamp(1.15rem, 1.7vw, 1.6rem); }

/* =====================================================================
   RE PAGE — Gerarchia cromatica (scoped #vre)
   Livello 1 Celeste 500 #00B0D4 — H2 bar, SVG bullet hero, step icon gradient
   Livello 2 Celeste 700 #027A93 — eyebrow kicker, CTA eyebrow
   Livello 3 Navy 600   #2E4A72 — why ico, deal tag, deal ROI, deal link, KPI num
   Livello 4 Navy 700   #1C355C — chiavi tabella, stat label, process pill
   Hover box: invariato (gestito dai selettori :hover esistenti)
   ===================================================================== */

/* Livello — eyebrow kicker / titoli sezione: colore navy uniforme
   (#1C355C) e' gia' il default globale di .vre-eyebrow, queste righe
   restano solo per i casi che devono deviare dal default. */

/* Investment Strategy: sfondo scuro → eyebrow bianco (leggibilita' su
   navy). Vale su tutte le pagine che riusano questo componente:
   RE, PE (sotto), VC, Partners "What We Bring". */
#vre .vre-strategy .vre-eyebrow { color: #ffffff; }
#vinv .vre-strategy .vre-eyebrow { color: #ffffff; }


/* Livello — icone why-card */
#vre .vre-why-ico { background: #66D3EA !important; }

/* Livello — deal tag badge */
#vre .vre-deal-tag { background: #66D3EA !important; }

/* Livello 3 — deal ROI number + link */
#vre .vre-deal-roi { color: #2E4A72; }
#vre .vre-deal-link { color: #2E4A72; }

/* Livello 3 — numeri KPI snapshot */
#vre .vre-snapshot .vre-num { color: #2E4A72 !important; }

/* Livello 4 — stat label snapshot: testo singola riga */
#vre .vre-snapshot .vre-stat-label { color: #1C355C; white-space: nowrap; font-size: 0.82rem; }

/* Livello 4 — chiavi tabella overview */
#vre .vre-ov-k { color: #1C355C; }

/* Livello 4 — pill negli step del processo */
#vre .vre-pstep-pill { color: #1C355C; background: rgba(28,53,92,0.10); }

/* =====================================================================
   PE PAGE — Gerarchia cromatica (scoped #vpe) — coerente con RE
   ===================================================================== */

/* Eyebrow kicker / titoli sezione */
#vpe .vre-eyebrow { color: #1C355C; }
#vpe .vre-cta .vre-eyebrow { color: #1C355C; }

/* Investment Strategy: sfondo scuro → eyebrow bianco */
#vpe .vre-strategy .vre-eyebrow { color: #ffffff; }

/* Icone why-card */
#vpe .vre-why-ico { background: #66D3EA !important; }

/* Numeri KPI (snapshot succession stats) */
#vpe .vre-snapshot .vre-num { color: #2E4A72 !important; }

/* Stat label: testo singola riga */
#vpe .vre-snapshot .vre-stat-label { color: #1C355C; white-space: nowrap; }

/* =====================================================================
   VC PAGE — Program Overview (bento, fuori da #vvc) — coerente con RE/PE
   ===================================================================== */
.vvc-overview .vre-eyebrow { color: #1C355C; }
.vvc-overview .vre-why-ico { background: #66D3EA !important; }

/* =====================================================================
   VC PAGE — LEDA & Partners (3 card centrate + nota) — coerente con RE/PE
   ===================================================================== */
.vvc-partners .vre-eyebrow { color: #1C355C; }
.vvc-partners .vre-why-ico { background:#66D3EA !important; }
.vvc-partners-grid { display:flex; gap:24px; align-items:stretch; }
.vvc-partners-grid .vre-why-card { flex:1 1 0; align-items:center; text-align:center; border-top:3px solid #66D3EA !important; }
.vvc-partners-grid .vre-why-ico { margin-left:auto; margin-right:auto; }
.vvc-partners-note {
	margin-top:24px;
	padding:32px clamp(24px,4vw,48px);
	background:#ffffff;
	border:1px solid rgba(0,0,0,0.08);
	border-radius:var(--glass-radius);
	box-shadow:0 2px 12px rgba(0,0,0,0.06);
	text-align:center;
}
.vvc-partners-note p { margin:0; font-size:1.05rem; line-height:1.7; color:#5B6B7F; }
.vvc-partners-note strong { color:#10233F; }
@media (max-width:900px) {
	.vvc-partners-grid { flex-direction:column; }
}

/* =====================================================================
   VC PAGE — Startup Application (2 card centrate + CTA) — coerente con RE/PE
   ===================================================================== */
.vvc-apply .vre-eyebrow { color: #1C355C; }
.vvc-apply .vre-why-ico { background:#66D3EA !important; }
.vvc-apply-grid { display:flex; gap:24px; align-items:stretch; }
.vvc-apply-grid .vre-why-card { flex:1 1 0; align-items:center; text-align:center; border-top:3px solid #66D3EA !important; }
.vvc-apply-grid .vre-why-ico { margin-left:auto; margin-right:auto; }
.vvc-apply-grid .vre-why-d { margin-bottom:1.3rem; }
.vvc-apply-grid .vre-btn { margin-top:auto; }
@media (max-width:900px) {
	.vvc-apply-grid { flex-direction:column; }
}

/* VC hero — stesso sfondo chiaro di PE */
#vvc .vre-hero-wrap {
    background-color: #F5F7F8;
    background-image: none;
}
#vvc .vre-hero-wrap::after { opacity: 0.50; }
#vvc .vre-hero :is(h1,h2,h3) { color: #10233F !important; }
#vvc .vre-hero-title          { color: #10233F; }
#vvc .vre-hero-sub            { color: #5B6B7F; }
#vvc .vre-hero-points li      { color: #10233F; }
#vvc .vre-hero-note           { color: #8b96a6; }
#vvc .vre-hero-points svg     { color: #00B0D4; }
#vvc .vhc-glow-1 { background: radial-gradient(circle, rgba(0,176,212,0.10), transparent 70%); }
#vvc .vhc-glow-2 { background: radial-gradient(circle, rgba(0,176,212,0.07), transparent 70%); }
/* Il bianco del JPG si fonde con #F5F7F8 dell'hero e sparisce */
#vvc .vre-landmarks-img {
    mix-blend-mode: multiply;
    -webkit-mask-image: none;
    mask-image: none;
}
#vvc .vre-landmarks { filter: drop-shadow(0 16px 32px rgba(20,30,50,0.14)); max-width: 95%; margin: 0 auto; }
#vvc .vre-landmarks-img { max-height: 420px; width: auto; object-fit: contain; }
#vvc .vre-marquee span { color: #10233F; font-weight: 700; font-size: clamp(1.15rem, 1.7vw, 1.6rem); }
#vvc .vhc--kpi:nth-of-type(2) { top: 62%; }

/* =====================================================================
   VC PORTFOLIO — "Startups in our portfolio": Selected Portfolio, stile
   institutional/investor-facing. Logo su canvas neutro contenuto, card
   premium a altezza uniforme, testo centrato senza troncamenti.
   ===================================================================== */
.vvc-portfolio .vre-eyebrow { color: #1C355C; }
.vvc-portfolio .vre-lead { margin-bottom: 0; }
.vvc-portfolio.vre-section::after { opacity: 0.22; }
.vvc-portfolio .vpf-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	max-width: 1072px;
	margin: 1.7rem auto 0;
	align-items: stretch;
}

/* Card istituzionale: raggio contenuto, bordo molto leggero, ombra minima, hover discreto */
.vvc-portfolio .vpf-card {
	box-sizing: border-box;
	background: var(--sec-card);
	border: 1px solid rgba(20,30,50,.07);
	border-radius: 13px;
	box-shadow: 0 14px 28px -20px rgba(16,24,40,.24), 0 4px 10px -8px rgba(16,24,40,.10);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: border-color .3s ease, box-shadow .3s ease;
}
.vvc-portfolio .vpf-card:hover {
	border-color: rgba(20,30,50,.11);
	box-shadow: 0 16px 30px -20px rgba(16,24,40,.27), 0 4px 10px -8px rgba(16,24,40,.11);
}

/* Logo canvas: stesso fondo del corpo card, separazione minima (niente header da product-card).
   Loghi allineati verso il basso (flex-end) cosi' restano vicini al testo invece
   di sembrare "sospesi" in alto nella card. */
.vvc-portfolio .vpf-media {
	height: 116px;
	flex: none;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 20px 7px 15px;
	background: var(--sec-card);
	border-bottom: none;
}
.vvc-portfolio .vpf-logo-img {
	max-width: 92%;
	max-height: 92px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* Bilanciamento ottico per-logo: loghi reali devono pesare in modo simile
   anche se le sorgenti hanno proporzioni molto diverse. WiWell leggermente
   ridotto per non dominare piu' la riga, Waveful tenuto controllato per non
   risultare "playful", Smilebox ingrandito per avere presenza comparabile
   a TaxBuddy/WiWell/Waveful invece di restare piu' debole. */
.vvc-portfolio .wiwell-logo { max-height: 60px; max-width: 85%; }
.vvc-portfolio .smilebox-logo { max-height: 100px; max-width: 97%; }
.vvc-portfolio .waveful-logo { max-height: 70px; max-width: 75%; }

/* Chip: per loghi con sfondo colore pieno (es. TaxBuddy) — contenuti in una
   tile arrotondata invece di riempire tutta l'area, cosi' il colore non
   domina la card ma resta comunque visibile/riconoscibile. */
.vvc-portfolio .vpf-logo-chip {
	width: 74px;
	height: 74px;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 12px -8px rgba(20,30,50,.28);
}
.vvc-portfolio .vpf-logo-chip-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Placeholder: stato quieto e intenzionale, un segno sobrio invece di un box vuoto */
.vvc-portfolio .vpf-media--placeholder {
	background: var(--sec-card);
}
.vvc-portfolio .vpf-logo-placeholder {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px dashed #DCE2E7;
	position: relative;
}
.vvc-portfolio .vpf-logo-placeholder::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #D4DAE0;
	transform: translate(-50%, -50%);
}

/* Body: nome + settore + descrizione, testi centrati. */
.vvc-portfolio .vpf-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 13px 18px 20px;
	text-align: center;
}
/* Divider sottile ed editoriale tra logo e nome: struttura la card senza il
   look header/body da product tile. Largo ma non a piena larghezza, colore
   quasi impercettibile. */
.vvc-portfolio .vpf-body::before {
	content: '';
	display: block;
	width: 74%;
	max-width: 190px;
	height: 1px;
	margin: 0 auto 14px;
	background: rgba(10,25,48,.065);
}
.vvc-portfolio .vpf-name {
	font-family: 'Inter', sans-serif !important;
	font-size: 1.375rem;
	font-weight: 700;
	color: #0A1930;
	margin: 0;
	line-height: 1.15;
}
.vvc-portfolio .vpf-sector {
	font-family: 'Inter', sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: #00B0D4;
	margin: 6px 0 0;
}
.vvc-portfolio .vpf-desc {
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	line-height: 1.65;
	color: #5B6B7F;
	margin: 10px auto 0;
	max-width: 236px;
	min-height: calc(1.65em * 4);
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Card placeholder: testo piu' quieto per segnalare stato temporaneo, non una vera azienda */
.vvc-portfolio .vpf-card--placeholder {
	box-shadow: none;
	border: 1px dashed rgba(20,30,50,.12);
	background: #FBFCFD;
	opacity: .82;
}
.vvc-portfolio .vpf-card--placeholder .vpf-name { color: #8792A0; font-size: 1.06rem; }
.vvc-portfolio .vpf-card--placeholder .vpf-sector { color: #A2AEBA; }
.vvc-portfolio .vpf-card--placeholder .vpf-desc { color: #9AA5B1; min-height: calc(1.65em * 2); }
.vvc-portfolio .vpf-card--placeholder .vpf-media--placeholder { background: #FBFCFD; }
.vvc-portfolio .vpf-card--placeholder:hover {
	box-shadow: none;
	border-color: rgba(20,30,50,.12);
	opacity: .9;
}

@media (max-width: 980px) {
	.vvc-portfolio .vpf-grid { grid-template-columns: repeat(2, 1fr); max-width: 560px; }
}
@media (max-width: 600px) {
	.vvc-portfolio .vpf-grid { grid-template-columns: 1fr; max-width: 340px; gap: 18px; }
	.vvc-portfolio .vpf-media { height: 120px; }
	.vvc-portfolio .vpf-logo-img { max-height: 90px; }
	.vvc-portfolio .wiwell-logo { max-height: 64px; }
	.vvc-portfolio .waveful-logo { max-height: 70px; }
	.vvc-portfolio .smilebox-logo { max-height: 96px; }
}

/* =====================================================================
   PE HERO — sfondo bianco con onde blu (identico a RE)
   ===================================================================== */
#vpe .vre-hero-wrap {
    background-color: #F5F7F8;
    background-image: none;
}
#vpe .vre-hero-wrap::after { opacity: 0.50; }

/* Testi scuri */
#vpe .vre-hero :is(h1,h2,h3) { color: #10233F !important; }
#vpe .vre-hero-title          { color: #10233F; }
#vpe .vre-hero-sub            { color: #5B6B7F; }
#vpe .vre-hero-points li      { color: #10233F; }

/* Check SVG nei bullet — accent blu */
#vpe .vre-hero-points svg { color: #00B0D4; }

/* Glow ridotti su sfondo chiaro */
#vpe .vhc-glow-1 { background: radial-gradient(circle, rgba(0,176,212,0.10), transparent 70%); }
#vpe .vhc-glow-2 { background: radial-gradient(circle, rgba(0,176,212,0.07), transparent 70%); }

/* Ombra immagine leggera su sfondo chiaro */
#vpe .vre-landmarks { filter: drop-shadow(0 16px 32px rgba(20,30,50,0.14)); max-width: 78%; margin: 0 auto; }

/* Rimuovi mask (fade bordi) — l'immagine PE ha già sfondo trasparente */
#vpe .vre-landmarks-img { -webkit-mask-image: none; mask-image: none; }

/* Card destra più in alto per non coprire l'immagine */
#vpe .vhc--kpi:nth-of-type(2) { top: 12%; }

/* ================================================================
   WHY NOW v2 — layout Akka: header centrato + 2 card premium + freccia
   ================================================================ */

/* Header centrato */
#vpe .vpe-whynow .vpe-wn2-head {
    text-align: center;
    max-width: 820px;
    margin: 0 auto clamp(42px, 5vw, 68px);
}
#vpe .vpe-whynow .vpe-wn2-head .vre-h2 { margin-bottom: .75rem; }
#vpe .vpe-whynow .vpe-wn2-sub {
    color: #5B6B7F;
    font-size: clamp(1rem, 1.2vw, 1.08rem);
    line-height: 1.65;
    max-width: 680px;
    margin: 0 auto;
}

/* Griglia 2 card + freccia: stessa altezza, freccia centrata, gap ~24px */
#vpe .vpe-whynow .vpe-wn2-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: stretch;
    max-width: 940px;
    margin: 0 auto;
}

/* Card base */
#vpe .vpe-whynow .vpe-wn2-card {
    border-radius: 24px;
    padding: 36px 38px;
    min-height: 324px;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    overflow: hidden;
}

/* Contenuto card sopra elementi decorativi */
#vpe .vpe-whynow .vpe-wn2-card > :not(.vpe-wn2-deco) {
    position: relative;
    z-index: 1;
}

/* LEFT: bianca, bordo sottile, ombra soffice */
#vpe .vpe-whynow .vpe-wn2-card--left {
    background: #ffffff;
    border: 1px solid rgba(16,26,43,0.06);
    box-shadow: 0 6px 36px -10px rgba(16,26,43,0.10), 0 1px 4px rgba(16,26,43,0.04);
}

/* RIGHT: gradient navy profondo + inner glow */
#vpe .vpe-whynow .vpe-wn2-card--right {
    background: linear-gradient(135deg, #10233F 0%, #1C355C 100%);
    box-shadow: inset 0 0 0 1px rgba(106,166,216,0.12), 0 24px 60px rgba(11,42,68,0.22);
}

/* Pill label */
#vpe .vpe-whynow .vpe-wn2-pill {
    display: inline-block;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    border-radius: 100px;
    padding: 5px 13px;
    align-self: flex-start;
    margin-bottom: 22px;
}
#vpe .vpe-whynow .vpe-wn2-card--left  .vpe-wn2-pill { color: #5B6B7F; background: rgba(16,26,43,0.07); }
#vpe .vpe-whynow .vpe-wn2-card--right .vpe-wn2-pill { color: rgba(255,255,255,0.82) !important; background: rgba(106,166,216,0.18); }

/* Titolo card: Inter, institutional, override !important contro .vre-light h3 */
#vpe .vpe-whynow .vpe-wn2-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.005em;
    margin: 0 0 38px;
    max-width: 360px;
}
#vpe .vpe-whynow .vpe-wn2-card--left  .vpe-wn2-title { color: #10233F !important; }
#vpe .vpe-whynow .vpe-wn2-card--right .vpe-wn2-title { color: #ffffff !important; }

/* Lista bullet */
#vpe .vpe-whynow .vpe-wn2-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 13px;
}
#vpe .vpe-whynow .vpe-wn2-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 1rem;
    line-height: 1.45;
}
#vpe .vpe-whynow .vpe-wn2-card--left  .vpe-wn2-list li { color: #10233F !important; }
#vpe .vpe-whynow .vpe-wn2-card--right .vpe-wn2-list li { color: rgba(255,255,255,0.84) !important; }
#vpe .vpe-whynow .vpe-wn2-ico { flex-shrink: 0; line-height: 0; margin-top: 2px; }

/* Elementi decorativi: assoluti, sotto il contenuto */
#vpe .vpe-whynow .vpe-wn2-deco {
    position: absolute;
    z-index: 0;
    pointer-events: none;
}
#vpe .vpe-whynow .vpe-wn2-deco--dots { bottom: 0; left: 0; opacity: 1.0; transform: scale(1.2); transform-origin: bottom left; }
#vpe .vpe-whynow .vpe-wn2-deco--bars { bottom: 14px; right: 14px; opacity: 0.9; transform: scale(0.87); transform-origin: bottom right; }

/* Freccia circolare: centrata verticalmente, overlap ~18px per lato */
#vpe .vpe-whynow .vpe-wn2-arrow {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #0A1930;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    align-self: center;
    position: relative;
    z-index: 2;
    margin: 0 -18px;
    box-shadow: 0 4px 18px -4px rgba(11,30,51,0.50);
}
#vpe .vpe-whynow .vpe-wn2-arrow-svg { width: 22px; height: 22px; }

/* Mobile */
@media (max-width: 860px) {
    #vpe .vpe-whynow .vpe-wn2-row { grid-template-columns: 1fr; max-width: 520px; align-items: stretch; }
    #vpe .vpe-whynow .vpe-wn2-card { min-height: auto; padding: 28px 30px; border-radius: 20px; }
    #vpe .vpe-whynow .vpe-wn2-arrow { align-self: auto; margin: -18px auto; transform: rotate(90deg); }
    #vpe .vpe-whynow .vpe-wn2-deco--dots { opacity: 0.65; }
    #vpe .vpe-whynow .vpe-wn2-deco--bars { opacity: 0.55; bottom: 16px; right: 16px; }
}

/* ================================================================
   COMPANY SNAPSHOT (PE) — stessa struttura .vch-stats-4 della home,
   solo numeri diversi.
   ================================================================ */
#vpe .vch-stats-4 {
	grid-template-columns: repeat(4, 1fr);
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
	gap: 20px;
}
#vpe .vch-stats-4 .vre-stat {
	padding: 44px 26px 38px;
	border-radius: 24px;
	border: 1px solid rgba(20,30,50,.09);
	background: #ffffff;
	box-shadow: 0 16px 42px -22px rgba(20,30,50,.38);
}
#vpe .vch-stats-4 .vre-stat:hover {
	box-shadow: 0 22px 54px -22px rgba(0,176,212,.30);
}
#vpe .vch-stats-4 .vre-num {
	font-size: clamp(2.3rem, 3.6vw, 3.15rem);
	font-weight: 800;
}
#vpe .vch-stats-4 .vre-stat-label { font-size: 1.02rem; }
#vpe .vch-stats-4 .vre-stat-note { font-size: .87rem; }

/* ================================================================
   SELECTED TRANSACTIONS / OPENING DEALS (PE) — 2 card invece delle
   3 di Real Estate; foto reali come sfondo media, nessun link
   "View details", nessun ROI: solo metriche target + CTA per-deal.
   ================================================================ */
#vpe .vpe-deals { grid-template-columns: repeat(2, 1fr); max-width: 900px; margin: 0 auto; gap: 40px; }
#vpe .vpe-deal { cursor: default; }
#vpe .vpe-deal-media::after { background: linear-gradient(180deg, rgba(0,0,0,.05) 45%, rgba(0,0,0,.32)); }
#vpe .vpe-deal-name { font-size: 1.375rem; font-weight: 700; margin: 0; color: #10233F; font-family: 'Inter', sans-serif !important; }
#vpe .vpe-deal-desc { font-size: .92rem; line-height: 1.6; color: var(--sec-text); margin: .5rem 0 0; min-height: 4.8em; }
#vpe .vpe-deal-meta--2 { grid-template-columns: 1fr 1fr; justify-content: space-between; }
#vpe .vpe-deal-meta--2 div:first-child { align-items: flex-start; text-align: left; }
#vpe .vpe-deal-meta--2 div:last-child { align-items: flex-end; text-align: right; }
#vpe .vpe-deal:hover { transform: none; }
#vpe .vpe-deal:hover .vre-deal-media { transform: none; }

/* Footer per-card "Interested in this deal?" */
#vpe .vpe-deal-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: .2rem; }
#vpe .vpe-deal-foot-label { font-size: .88rem; color: var(--sec-text); }
#vpe .vpe-deal-foot-link { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; font-weight: 700; color: #2E4A72; white-space: nowrap; transition: color .2s ease, gap .2s ease; }
#vpe .vpe-deal-foot-link:hover { color: #1e3355; gap: 9px; }

@media (max-width: 1024px) {
    #vpe .vch-stats-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    #vpe .vpe-deals { grid-template-columns: 1fr; max-width: 440px; }
}
@media (max-width: 600px) {
    #vpe .vch-stats-4 { grid-template-columns: 1fr; }
    #vpe .vch-stats-4 .vre-stat { padding: 36px 22px 32px; }
}

/* =====================================================================
   MOBILE — RE · PE · VC  (aggiunto per responsività telefono)
   ===================================================================== */

/* Clip glow blobs su VC senza tagliare le card floating */
#vvc { overflow-x: hidden; }

/* ---- < 900px: sezione hero già in colonna singola (regola esistente) ---- */
/* ---- < 680px: griglia sezioni già 1fr (regola esistente) ---- */

/* ---- < 480px: telefoni portrait ---- */
@media (max-width: 480px) {
    /* Spaziature */
    .vre { --sp-lg: 44px; --sp-md: 28px; --sp-sm: 18px; }

    /* Hero visual */
    .vre-hero-visual { min-height: 250px; padding: 12px 8px; }
    .vhc-glow-1 { width: 180px; height: 180px; }
    .vhc-glow-2 { width: 140px; height: 140px; }

    /* Card KPI fluttuanti: più compatte */
    .vhc--kpi { padding: 8px 11px; gap: 7px; }
    .vhc-kpi-num { font-size: 0.88rem; }
    .vhc-kpi-lab { font-size: 0.57rem; }
    .vhc-kpi-ico,
    .vhc-kpi-ico--mult { width: 26px; height: 26px; }
    .vhc-kpi-ico svg { width: 13px; height: 13px; }

    /* Titolo hero */
    .vre-hero-title { font-size: clamp(1.85rem, 7vw, 2.4rem); }
    .vre-hero-sub { font-size: 0.9rem; }
    .vre-hero-points li { font-size: 0.87rem; gap: 9px; }
    .vre-hero-points svg { width: 18px; height: 18px; flex-shrink: 0; }

    /* Titoli sezioni */
    .vre-h2 { font-size: clamp(1.45rem, 5.5vw, 1.9rem); }
    .vre-lead { font-size: 0.92rem; }
    .vre-num { font-size: clamp(1.6rem, 5.5vw, 2rem); }
    .vre-stat-label { font-size: 0.78rem; }
    .vre-stat-note { font-size: 0.68rem; }

    /* Stats: 2 colonne anche su telefono */
    .vre-stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

    /* Why cards */
    .vre-why-card { padding: 22px 18px; }
    .vre-why-t { font-size: 1rem; }
    .vre-why-d { font-size: 0.85rem; }

    /* Strategy step cards */
    .vre-step { padding: 22px 18px; }
    .vre-step-t { font-size: 1rem; }
    .vre-step-d { font-size: 0.85rem; }

    /* Process step cards */
    .vre-pstep { padding: 20px 18px 16px; }
    .vre-pstep-t { font-size: 0.95rem; }
    .vre-pstep-d { font-size: 0.82rem; }

    /* CTA */
    .vre-btn--lg { font-size: 1rem; padding: 14px 28px; }
}

/* ---- PE: mappa e barre opportunità ---- */
@media (max-width: 680px) {
    #vpe .vpe-italy-img { max-width: 100%; height: auto; }
    #vpe .vpe-succ-stats { grid-template-columns: 1fr 1fr; gap: 12px; }
    #vpe .vpe-opp-ctx { font-size: 0.92rem; }
    #vpe .vpe-sz { font-size: 0.78rem; }
    #vpe .vpe-sz-track { height: 7px; }
    #vpe .vpe-wn2-card { padding: 24px 20px; }
    #vpe .vpe-wn2-title { font-size: 1.05rem; }
}

@media (max-width: 480px) {
    #vpe .vpe-succ-stats { grid-template-columns: 1fr; }
    #vpe .vpe-sizebars { gap: 6px; }
}

/* =====================================================================
   VC PAGE — Elementor section background alignment
   Bianchi → #F5F7F8 · Neri → navy #0A1930 + onde
   ===================================================================== */

/* Tutti gli Elementor section dopo #vvc: off-white uniforme */
#vvc ~ section.elementor-section {
    background-color: #F5F7F8 !important;
    background-image: none !important;
}

/* Sezione vuota dopo Boost Program: nascosta */
#vvc ~ section.elementor-section[data-id="689381e"] { display: none !important; }

/* Boost Program → navy + gradient
   Specificità uguale alla regola generale (.elementor-section + [attr]) → vince per ordine.
   1aaa441b ("We focus on disruptive tech...") esclusa: sfondo flat, vedi regola piu' sotto. */
#vvc ~ section.elementor-section[data-id="b81a8e9"] {
    background-color: #0A1930 !important;
    background-image: linear-gradient(180deg, #1C355C 0%, #10233F 60%, #0A1930 100%) !important;
    position: relative;
}
#vvc ~ section.elementor-section[data-id="1aaa441b"] {
    background-color: #0A1930 !important;
    background-image: none !important;
    position: relative;
}

/* Footer: nero pieno, coerente con Real Estate / Private Equity (il logo ha sfondo nero non trasparente) */
#vvc ~ section.elementor-section[data-id="1c49122"] {
    background-color: #000000 !important;
    background-image: none !important;
    position: relative;
}
#vvc ~ section.elementor-section[data-id="1c49122"]::after {
    content: "";
    position: absolute;
    right: -4%;
    bottom: 0;
    width: 72%;
    height: 85%;
    background: url("../img/background-2.png") no-repeat right bottom;
    background-size: contain;
    opacity: 0.30;
    pointer-events: none;
    z-index: 0;
}

/* =====================================================================
   VC PAGE — Brand color alignment (Celeste 500 #00B0D4 · 700 #027A93)
   Selettori ispezionati via DOM — classi custom Elementor VC page
   ===================================================================== */

/* Icone con bg #619BD1 → #00B0D4 */
#vvc ~ section .benefit-icon-custom,
#vvc ~ section .icon-custom,
#vvc ~ section .icon.style-color { background-color: #00B0D4 !important; }

/* Testi / span con color #619BD1 → #00B0D4 (solo sezioni light).
   Esclusa 6051930 (FAQ "Got Questions?"): ristilizzata a parte in formato
   brand navy/serif piu' sotto. */
#vvc ~ section:not([data-id="1aaa441b"]):not([data-id="b81a8e9"]):not([data-id="1c49122"]):not([data-id="6051930"]) .style-color,
#vvc ~ section:not([data-id="1aaa441b"]):not([data-id="b81a8e9"]):not([data-id="1c49122"]):not([data-id="6051930"]) .elementor-heading-title.elementor-size-default { color: #00B0D4 !important; }

/* Bottoni custom #619BD1 → #00B0D4 */
#vvc ~ section .btn-custom { background-color: #00B0D4 !important; border-color: #00B0D4 !important; color: #fff !important; }
#vvc ~ section .btn-custom:hover { background-color: #027A93 !important; border-color: #027A93 !important; }

/* =====================================================================
   CTA BUTTON — colore #2E4A72 su tutti e 3 gli hero + sezione CTA finale
   ===================================================================== */
#vre .vre-hero-cta .vre-btn,
#vpe .vre-hero-cta .vre-btn,
#vvc .vre-hero-cta .vre-btn,
#vinv .vre-hero-cta .vre-btn,
#vre .vre-cta .vre-btn,
#vpe .vre-cta .vre-btn,
#vvc .vre-cta .vre-btn,
#vinv .vre-cta .vre-btn {
    background: #2E4A72 !important;
    box-shadow: none;
}
#vre .vre-hero-cta .vre-btn:hover,
#vpe .vre-hero-cta .vre-btn:hover,
#vvc .vre-hero-cta .vre-btn:hover,
#vinv .vre-hero-cta .vre-btn:hover,
#vre .vre-cta .vre-btn:hover,
#vpe .vre-cta .vre-btn:hover,
#vvc .vre-cta .vre-btn:hover,
#vinv .vre-cta .vre-btn:hover {
    background: #1e3355 !important;
    box-shadow: 0 12px 30px -10px rgba(46,74,114,.45) !important;
}

/* =====================================================================
   VC FAQ (Elementor "Got Questions?", elementor-element-6051930) —
   ristile della colonna sinistra e delle card sul formato brand vre-*
   (Inter/DM Serif Display, eyebrow navy, card bianche piene). Contenuto
   testuale invariato: solo tipografia e colori.
   ===================================================================== */
.elementor-element-6051930 h5.elementor-heading-title {
	font-family: 'Inter', sans-serif !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.26em !important;
	text-transform: uppercase !important;
	color: #1C355C !important;
}
.elementor-element-6051930 h3.elementor-heading-title {
	font-family: 'DM Serif Display', Georgia, serif !important;
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	color: #10233F !important;
}
.elementor-element-6051930 > .elementor-container p,
.elementor-element-6051930 .jkit-sticky-element--enabled p {
	font-family: 'Inter', sans-serif !important;
	color: #5B6B7F !important;
	line-height: 1.65 !important;
}
.elementor-element-6051930 .jkit-sticky-element--enabled p strong {
	color: #10233F !important;
}

/* Card bianche piene invece che trasparenti */
.elementor-element-6051930 .card-wrapper {
	background: #ffffff !important;
	border-color: rgba(0,0,0,0.08) !important;
}
.elementor-element-6051930 .card-header,
.elementor-element-6051930 .card-header .title {
	font-family: 'Inter', sans-serif !important;
	color: #10233F !important;
	font-weight: 600 !important;
	font-size: 0.98rem !important;
	line-height: 1.5 !important;
}
.elementor-element-6051930 .card-body,
.elementor-element-6051930 .card-body * {
	font-family: 'Inter', sans-serif !important;
	color: #5B6B7F !important;
	font-size: 0.92rem !important;
	line-height: 1.65 !important;
}
.elementor-element-6051930 .card-expand,
.elementor-element-6051930 .card-expand * {
	color: #619BD1 !important;
}

/* =====================================================================
   Investors FAQ (Elementor "Got Questions?", elementor-element-50a6e89) —
   stesso ristile applicato alla FAQ di Venture Capital (elementor-element-
   6051930): sfondo grigio chiaro, eyebrow navy compatto, card bianche.
   ===================================================================== */
.elementor-element-50a6e89 {
	background-color: #F5F7F8 !important;
}
.elementor-element-50a6e89 h5.elementor-heading-title {
	font-family: 'Inter', sans-serif !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.26em !important;
	text-transform: uppercase !important;
	color: #1C355C !important;
}
.elementor-element-50a6e89 h3.elementor-heading-title {
	font-family: 'DM Serif Display', Georgia, serif !important;
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	color: #10233F !important;
}
.elementor-element-50a6e89 > .elementor-container p,
.elementor-element-50a6e89 .jkit-sticky-element--enabled p {
	font-family: 'Inter', sans-serif !important;
	color: #5B6B7F !important;
	line-height: 1.65 !important;
}
.elementor-element-50a6e89 .jkit-sticky-element--enabled p strong {
	color: #10233F !important;
}
.elementor-element-50a6e89 .card-wrapper {
	background: #ffffff !important;
	border-color: rgba(0,0,0,0.08) !important;
}
.elementor-element-50a6e89 .card-header,
.elementor-element-50a6e89 .card-header .title {
	font-family: 'Inter', sans-serif !important;
	color: #10233F !important;
	font-weight: 600 !important;
	font-size: 0.98rem !important;
	line-height: 1.5 !important;
}
.elementor-element-50a6e89 .card-body,
.elementor-element-50a6e89 .card-body * {
	font-family: 'Inter', sans-serif !important;
	color: #5B6B7F !important;
	font-size: 0.92rem !important;
	line-height: 1.65 !important;
}
.elementor-element-50a6e89 .card-expand,
.elementor-element-50a6e89 .card-expand * {
	color: #619BD1 !important;
}

/* =====================================================================
   VC Boost Program banner (elementor-element-b81a8e9) — solo font/size
   coerenti con RE/PE (Inter per il corpo, eyebrow tracked Inter). Colori,
   layout e contenuto invariati.
   ===================================================================== */
.elementor-element-d91eb6c .elementor-widget-text-editor p,
.elementor-element-d91eb6c .elementor-widget-text-editor span {
	font-family: 'Inter', sans-serif !important;
	font-size: 1.05rem !important;
	line-height: 1.7 !important;
}
/* "Your startup deserves a tailored support": eyebrow tracked, non serif */
.elementor-element-d91eb6c h2.elementor-heading-title.elementor-size-default {
	font-family: 'Inter', sans-serif !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.26em !important;
}

.elementor-element-1b51cbf .elementor-widget-text-editor p {
	font-family: 'Inter', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
}
.elementor-element-1b51cbf .elementor-widget-text-editor p:first-child {
	font-size: 1.25rem !important;
	line-height: 1.3 !important;
}

/* =====================================================================
   VC ultima CTA "Share your startup pitch" (elementor-element-00d8ab4) —
   bottone scuro come l'hero + font coerenti con RE/PE. Layout invariato.
   ===================================================================== */
.elementor-element-00d8ab4 h1 {
	font-family: 'DM Serif Display', Georgia, serif !important;
	font-weight: 800 !important;
}
.elementor-element-00d8ab4 p {
	font-family: 'Inter', sans-serif !important;
	font-weight: 400 !important;
	font-size: 0.95rem !important;
	color: #5B6B7F !important;
	letter-spacing: 0.03em !important;
}
.elementor-element-00d8ab4 a.elementor-button {
	background: #2E4A72 !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 600 !important;
	letter-spacing: 0.036em !important;
	transition: background .3s ease;
}
.elementor-element-00d8ab4 a.elementor-button:hover {
	background: #1e3355 !important;
}

/* =====================================================================
   VC "We focus on disruptive tech..." (elementor-element-1aaa441b) —
   sfondo flat gia' impostato sopra (regola Boost Program); qui solo la
   rimozione dell'eyebrow "OUR DRIVERS".
   ===================================================================== */
#vvc ~ section[data-id="1aaa441b"] .elementor-element-210faa0b {
	display: none !important;
}

/* =====================================================================
   VC "Venture Value Creation" (dentro #vvc, vre-strategy) — eyebrow
   bianca coerente con RE/PE (mancava lo scoping #vvc per questa pagina).
   ===================================================================== */
#vvc .vre-strategy .vre-eyebrow { color: #ffffff; }

/* =====================================================================
   CONTACT US (#vcontact) — sezione "Get In Touch" + 3 card contatto,
   stesso design system vre-* di RE/PE/VC. Nessuna nuova palette/font.
   ===================================================================== */

/* Sezione "Get In Touch" (unica sezione della pagina, niente hero) */
#vcontact .vcon-touch { padding-top: var(--sp-lg); }

/* Card contatto: riusa .vre-why-card/.vre-why-ico ma su riga singola
   centrata a 3 colonne (stesso pattern di .vvc-partners-grid). */
#vcontact .vcon-cards-grid {
	display: flex;
	gap: 24px;
	align-items: stretch;
	margin-top: clamp(28px, 4vw, 44px);
}
#vcontact .vcon-card {
	flex: 1 1 0;
	align-items: center;
	text-align: center;
}
#vcontact .vcon-ico {
	margin-left: auto;
	margin-right: auto;
	border-radius: 50%;
	background: var(--accent) !important;
}
#vcontact .vcon-card-t { margin-bottom: .4rem; }
#vcontact .vcon-card-d { color: #5B6B7F !important; }

@media (max-width: 900px) {
	#vcontact .vcon-cards-grid { flex-direction: column; }
}
@media (max-width: 600px) {
	#vcontact .vcon-hero { min-height: auto; padding: 48px 0; }
}

/* =====================================================================
   VERTIGO CAPITAL PARTNERS / INVESTORS (#vinv) — hero monumentale, 2
   percorsi di partnership, 4 card "what we bring", FAQ e CTA finale
   native Elementor (invariate). Stesso design system vre-* di RE/PE/VC.
   Nessuna nuova palette/font.
   Ritmo verticale piu' compatto (v2): --sp-lg/--sp-md ridotti solo dentro
   #vinv cosi' tutte le .vre-section ereditate stanno piu' vicine, senza
   toccare la variabile globale usata dalle altre pagine.
   ===================================================================== */
#vinv {
	--sp-md: clamp(28px, 4vw, 40px);
	--sp-lg: clamp(44px, 6vw, 72px);
}

/* Hero: sfondo chiaro con pattern radiale sottile a destra — copertina
   istituzionale monumentale, ma senza splash screen vuota. */
#vinv .vip-hero-wrap {
	position: relative;
	overflow: hidden;
	background-color: #F5F7F8;
	background-image: none;
}
#vinv .vip-hero-wrap::after {
	content: "";
	position: absolute;
	right: -4%; bottom: -8%;
	width: 72%; height: 92%;
	background: var(--pattern) no-repeat right bottom;
	background-size: contain;
	opacity: 0.4;
	pointer-events: none;
	z-index: 0;
}
#vinv .vip-hero {
	min-height: clamp(520px, 80vh, 780px);
	padding: clamp(48px, 7vh, 72px) 0;
	text-align: center;
}
#vinv .vip-hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}
#vinv .vip-hero-eyebrow { text-align: center; margin-bottom: 1.1rem; }
/* Titolo dominante, serif esistente, navy forte — l'elemento con maggior
   peso visivo della sezione. */
#vinv .vip-hero-title {
	text-align: center;
	margin: 0 0 .65rem;
	color: #0A1930 !important;
	font-size: clamp(3.2rem, 7vw, 6rem);
	line-height: 1.04;
	letter-spacing: -0.02em;
}
#vinv .vip-hero-sub {
	text-align: center;
	margin: 0 auto;
	max-width: 58ch;
	color: #5B6B7F !important;
	font-size: clamp(1.05rem, 1.7vw, 1.3rem);
}
#vinv .vip-hero-cta { margin-top: 32px; }

@media (max-width: 900px) {
	#vinv .vip-hero { min-height: clamp(420px, 62vh, 620px); }
}
@media (max-width: 600px) {
	#vinv .vip-hero { min-height: auto; padding: clamp(56px, 12vh, 88px) 0; }
	#vinv .vip-hero-title { font-size: clamp(2.3rem, 9vw, 2.8rem); line-height: 1.12; }
}

/* Ways to Partner: 2 pannelli premium affiancati — percorso calmo/
   finanziario (chiaro) vs strategico/collaborativo (navy). Nessuna
   decorazione illustrativa (niente dot-matrix/bar-chart): la profondita'
   del pannello scuro viene da un glow radiale sottilissimo via CSS, non
   da grafica figurativa. Nessun divisore fra le righe della lista.
   Padding-top leggermente maggiore del padding-bottom di sezione: con
   l'hero ora piu' alto/cover-style, la sezione ha bisogno di un margine
   di respiro proprio invece di attaccarsi subito sotto. */
#vinv .vip-paths { padding-top: clamp(64px, 9vh, 100px); }
#vinv .vip-panel-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	margin-top: clamp(16px, 2.4vw, 22px);
	align-items: stretch;
}
#vinv .vip-panel {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	padding: 24px 26px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: left;
}
#vinv .vip-panel > * { position: relative; z-index: 1; }

#vinv .vip-panel--light {
	background: linear-gradient(165deg, #ffffff 0%, #F7F9FB 100%);
	border: 1px solid rgba(10,25,48,.10);
	box-shadow: 0 10px 40px -14px rgba(16,26,43,.16), 0 2px 6px -2px rgba(16,26,43,.06);
}
/* Stessa quota di profondita' del pannello scuro: un glow radiale
   turquoise quasi impercettibile in un angolo, coerente col riflesso
   sul pannello dark, cosi' i due pannelli pesano allo stesso modo. */
#vinv .vip-panel--light::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(360px circle at 100% 0%, rgba(0,176,212,.05), transparent 62%);
	pointer-events: none;
	z-index: 0;
}
#vinv .vip-panel--dark {
	background: linear-gradient(160deg, #16304F 0%, #102542 62%, #0C1F38 100%);
	box-shadow: inset 0 0 0 1px rgba(102,211,234,.13), 0 14px 34px -16px rgba(6,16,30,.42);
}
/* Profondita' sottile: glow radiale in un angolo, non un elemento grafico */
#vinv .vip-panel--dark::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(420px circle at 100% 0%, rgba(102,211,234,.08), transparent 60%);
	pointer-events: none;
	z-index: 0;
}

/* Header: icona + pill sulla stessa riga, compatte e ben connesse al titolo */
#vinv .vip-panel-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

/* Pill label: etichetta editoriale, non un tag SaaS — niente sfondo
   pillola pieno, solo lettering discreto con un filo di colore. */
#vinv .vip-panel-pill {
	display: inline-block;
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	background: none;
	padding: 0;
}
#vinv .vip-panel--light .vip-panel-pill { color: #6B7A8D; }
#vinv .vip-panel--dark  .vip-panel-pill { color: #8FE0F0; }

/* Icona marker: piu' contenuta, tratto sottile, coerente sui due
   pannelli — non domina piu' la riga rispetto alla label. */
#vinv .vip-panel-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	flex-shrink: 0;
}
#vinv .vip-panel-ico svg { width: 17px; height: 17px; }
#vinv .vip-panel--light .vip-panel-ico { background: var(--accent); color: #fff; box-shadow: 0 5px 11px -6px rgba(0,176,212,.45); }
#vinv .vip-panel--dark  .vip-panel-ico { background: rgba(102,211,234,.16); color: #9FE6F3; box-shadow: inset 0 0 0 1px rgba(102,211,234,.34); }

/* Titolo: leggermente piu' sicuro di se', rimane compatto */
#vinv .vip-panel-title {
	font-family: 'Inter', sans-serif !important;
	font-size: 1.44rem;
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 .35rem;
}
#vinv .vip-panel--light .vip-panel-title { color: #0A1930 !important; letter-spacing: 0; }
#vinv .vip-panel--dark  .vip-panel-title { color: #ffffff !important; letter-spacing: -.01em; }

/* Statement strategico: legato al titolo, piu' prominente dei bullet,
   separa chiaramente identita' (titolo) da contenuto (lista). Sul
   pannello chiaro resta piu' quieto (peso normale); sul pannello scuro
   e' leggermente piu' assertivo — riflette calmo/passivo vs strategico/
   attivo attraverso il peso, non con testo aggiuntivo. */
#vinv .vip-panel-statement {
	font-size: .96rem;
	line-height: 1.48;
	max-width: 40ch;
	margin: 0 0 14px;
}
#vinv .vip-panel--light .vip-panel-statement { color: #526074; font-weight: 400; }
#vinv .vip-panel--dark  .vip-panel-statement { color: rgba(214,226,240,.86); font-weight: 500; }

/* Bullet list premium: marker piccolo e rifinito, nessun divisore fra
   righe — spaziatura compatta ma leggibile. Forma del marker diversa
   fra i due pannelli (pallino calmo a sinistra, rombo piu' deciso a
   destra) per rinforzare il contrasto passivo/attivo senza testo extra. */
#vinv .vip-panel-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}
#vinv .vip-panel-list li {
	position: relative;
	padding-left: 17px;
	font-size: .91rem;
	line-height: 1.44;
}
#vinv .vip-panel-list li::before {
	content: "";
	position: absolute;
	left: 1px;
	top: .56em;
	width: 4.5px;
	height: 4.5px;
}
#vinv .vip-panel--light .vip-panel-list li { color: #445064; }
#vinv .vip-panel--light .vip-panel-list li::before { background: var(--accent); border-radius: 50%; opacity: .8; }
#vinv .vip-panel--dark  .vip-panel-list li { color: rgba(214,226,240,.84); }
#vinv .vip-panel--dark  .vip-panel-list li::before { background: #8FE0F0; border-radius: 1px; transform: rotate(45deg); opacity: .85; }

@media (max-width: 860px) {
	#vinv .vip-panel-row { grid-template-columns: 1fr; max-width: 560px; margin-left: auto; margin-right: auto; }
	#vinv .vip-panel { padding: 22px 22px; border-radius: 18px; }
}

/* What We Bring ora riusa .vre-strategy/.vre-steps (stesso componente
   di Real Estate "Investment Strategy" e Venture Capital "Venture Value
   Creation") — nessuno stile dedicato #vinv necessario. */

/* CTA finale: pannello premium chiuso, non piu' testo che galleggia su
   sfondo vuoto. */
#vinv .vip-cta { padding: clamp(36px, 5vw, 56px) 0; }
#vinv .vip-cta-panel {
	background: #ffffff;
	border: 1px solid rgba(10,25,48,.08);
	border-radius: 20px;
	box-shadow: 0 12px 40px -20px rgba(10,25,48,.18);
	padding: clamp(40px, 6vw, 64px) clamp(28px, 5vw, 56px);
}
#vinv .vip-cta-title { font-size: clamp(1.9rem, 3.6vw, 2.6rem); margin-bottom: .5em; }
#vinv .vip-cta-panel .vre-lead { margin: 0 auto 1.8rem; }

@media (max-width: 900px) {
	#vinv .vip-paths-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	#vinv .vip-cta-panel { border-radius: 16px; }
}
