.gvs-ri{
	--gvs-ink:#1a1010;
	--gvs-ink-dim:rgba(26,16,16,0.62);
	--gvs-bg:#f1cad1;
	--gvs-panel:rgba(255,255,255,0.62);
	--gvs-panel-border:rgba(26,16,16,0.12);
	--gvs-accent:#c40c2c;
	--gvs-accent-dim:rgba(196,12,44,0.35);
	--gvs-grid-line:rgba(26,16,16,0.06);
	--gvs-radius:14px;

	position:relative;
	max-width:760px;
	margin:2.5em auto;
	background:var(--gvs-bg);
	border-radius:18px;
	padding:32px 26px 28px;
	overflow:hidden;
	font-family:'Inter',sans-serif;
	color:var(--gvs-ink);
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
}
.gvs-ri *,
.gvs-ri *::before,
.gvs-ri *::after{
	box-sizing:border-box;
}

.gvs-ri__grid{
	position:absolute;
	inset:-60px;
	background-image:
		linear-gradient(var(--gvs-grid-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--gvs-grid-line) 1px, transparent 1px);
	background-size:42px 42px;
	pointer-events:none;
	will-change:transform;
	transition:transform .15s ease-out;
}
.gvs-ri__content{position:relative;}

.gvs-ri__hud{
	display:flex;
	align-items:center;
	gap:10px;
	font-family:'JetBrains Mono',monospace;
	font-size:11px;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--gvs-accent);
	margin-bottom:14px;
}
.gvs-ri__hud::before{
	content:"";
	width:7px;height:7px;border-radius:50%;
	background:var(--gvs-accent);
	animation:gvsRiPulse 1.8s ease-in-out infinite;
}
@keyframes gvsRiPulse{0%,100%{opacity:1}50%{opacity:.35}}

.gvs-ri__title{
	font-family:'Space Grotesk',sans-serif;
	font-weight:700;
	font-size:clamp(20px,3.4vw,26px);
	line-height:1.3;
	margin:0 0 28px;
	max-width:560px;
	color:var(--gvs-ink);
}

.gvs-ri__carousel{
	position:relative;
	background:var(--gvs-panel);
	border:1px solid var(--gvs-panel-border);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	border-radius:var(--gvs-radius);
	padding:22px 20px 18px;
	margin-bottom:32px;
	min-height:104px;
	display:flex;
	align-items:center;
	gap:18px;
	transform-style:preserve-3d;
	transition:transform .25s ease, border-color .25s ease;
}
.gvs-ri__carousel:hover{border-color:var(--gvs-accent-dim);}

.gvs-ri__gauge{position:relative;width:64px;height:64px;flex:none;}
.gvs-ri__gauge svg{width:64px;height:64px;display:block;}
.gvs-ri__arc-bg{fill:none;stroke:var(--gvs-panel-border);stroke-width:5;}
.gvs-ri__arc-fg{
	fill:none;stroke:var(--gvs-accent);stroke-width:5;stroke-linecap:round;
	transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1);
}
.gvs-ri__num{
	position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	font-family:'JetBrains Mono',monospace;font-weight:700;font-size:13px;
	color:var(--gvs-ink);white-space:nowrap;
}

.gvs-ri__stat-text{flex:1;min-width:0;}
.gvs-ri__stat-label{
	display:none;
	margin:0;
	font-size:13px;
	line-height:1.5;
	color:var(--gvs-ink-dim);
	opacity:0;
	transform:translateY(6px);
	transition:opacity .35s ease, transform .35s ease;
}
.gvs-ri__stat-label.is-active{display:block;opacity:1;transform:translateY(0);}

.gvs-ri__dots{
	position:absolute;
	bottom:10px;left:20px;
	display:flex;gap:6px;
}
.gvs-ri__dots button{
	width:6px;height:6px;border-radius:50%;
	border:0;padding:0;cursor:pointer;
	background:var(--gvs-panel-border);
	transition:background .25s ease, transform .25s ease;
}
.gvs-ri__dots button.is-active{background:var(--gvs-accent);transform:scale(1.4);}

.gvs-ri__line{position:relative;margin-bottom:32px;}
.gvs-ri__spine{
	position:absolute;left:19px;top:8px;bottom:8px;width:1px;
	background:linear-gradient(var(--gvs-accent-dim), transparent 95%);
}
.gvs-ri__module{
	position:relative;
	display:flex;
	gap:16px;
	margin-bottom:8px;
}
.gvs-ri__module--faq{padding-left:0;}
.gvs-ri__node{
	flex:none;
	width:40px;height:40px;
	border-radius:50%;
	background:var(--gvs-bg);
	border:1px solid var(--gvs-panel-border);
	display:flex;align-items:center;justify-content:center;
	font-family:'JetBrains Mono',monospace;
	font-size:12px;font-weight:700;color:var(--gvs-ink-dim);
	z-index:1;
	transition:border-color .2s, color .2s;
}
.gvs-ri__module.is-open .gvs-ri__node{border-color:var(--gvs-accent);color:var(--gvs-accent);}

.gvs-ri__card{
	flex:1;
	background:var(--gvs-panel);
	border:1px solid var(--gvs-panel-border);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	border-radius:var(--gvs-radius);
	overflow:hidden;
	transform-style:preserve-3d;
	transition:transform .2s ease, border-color .2s ease;
}
.gvs-ri__module.is-open .gvs-ri__card{border-color:var(--gvs-accent-dim);}
.gvs-ri__card-head{
	width:100%;
	display:flex;align-items:center;justify-content:space-between;
	gap:12px;
	background:none;border:0;cursor:pointer;
	padding:13px 16px;
	font-family:'Space Grotesk',sans-serif;
	font-weight:500;font-size:14.5px;
	color:var(--gvs-ink);text-align:left;
}
.gvs-ri__module--faq .gvs-ri__card-head{
	font-family:'Inter',sans-serif;
	font-weight:500;font-size:13.5px;
}
.gvs-ri__chev{
	flex:none;width:14px;height:14px;
	border-right:1.5px solid var(--gvs-ink-dim);
	border-bottom:1.5px solid var(--gvs-ink-dim);
	transform:rotate(-45deg);
	transition:transform .25s ease, border-color .25s ease;
}
.gvs-ri__module.is-open .gvs-ri__chev{transform:rotate(45deg);border-color:var(--gvs-accent);}

.gvs-ri__card-body{
	max-height:0;
	overflow:hidden;
	transition:max-height .3s ease;
}
.gvs-ri__card-body p{
	margin:0;padding:0 16px 16px;
	font-size:13.5px;line-height:1.6;color:var(--gvs-ink-dim);
}

.gvs-ri__faq{margin-bottom:28px;}
.gvs-ri__faq-title{
	font-family:'JetBrains Mono',monospace;
	font-size:11px;letter-spacing:.08em;text-transform:uppercase;
	color:var(--gvs-ink-dim);margin:0 0 12px;
}
.gvs-ri__faq .gvs-ri__module{margin-bottom:8px;}

.gvs-ri__cta{
	position:relative;
	background:linear-gradient(180deg, rgba(196,12,44,0.10), rgba(196,12,44,0.02));
	border:1px solid var(--gvs-accent-dim);
	border-radius:var(--gvs-radius);
	padding:20px 20px 18px;
}
.gvs-ri__cta::before{
	content:"Contacto";
	display:block;
	font-family:'JetBrains Mono',monospace;
	font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gvs-accent);
	margin-bottom:10px;
}
.gvs-ri__cta p{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:var(--gvs-ink);max-width:480px;}
.gvs-ri__cta-actions{display:flex;flex-wrap:wrap;gap:12px;}
.gvs-ri__cta-actions a{
	font-family:'JetBrains Mono',monospace;
	font-size:12px;font-weight:500;
	color:var(--gvs-accent);text-decoration:none;
	border:1px solid var(--gvs-accent-dim);
	border-radius:8px;padding:8px 14px;
	transition:background .2s, border-color .2s;
}
.gvs-ri__cta-actions a:hover{background:rgba(196,12,44,0.1);border-color:var(--gvs-accent);}

@media (max-width:600px){
	.gvs-ri__carousel{flex-wrap:wrap;}
	.gvs-ri__dots{position:static;margin-top:10px;}
}

@media (prefers-reduced-motion: reduce){
	.gvs-ri__grid{transition:none;}
	.gvs-ri__arc-fg{transition:none;}
	.gvs-ri__card-body{transition:none;}
	.gvs-ri__hud::before{animation:none;}
}
