/* IPR - Premium Restoration */

:root{
	--ipr-carbone:#07070e;
	--ipr-carbone-soft:#0a0d18;
	--ipr-fumo:#0c1020;
	--ipr-oro:#8B5CF6;
	--ipr-oro-light:#A78BFA;
	--ipr-crema:#E8EDFF;
	--ipr-white:#FFFFFF;
	--ipr-muted:rgba(237,233,254,.58);
	--ipr-muted-dark:rgba(8,6,15,.72);
	--ipr-radius:16px;
	--ipr-shadow:0 20px 44px rgba(0,0,0,.52);
	--ipr-shadow-soft:0 14px 30px rgba(0,0,0,.38);
}

/* BASE */

html{
	scroll-padding-top:90px;
}

body{
	background:var(--ipr-carbone);
	color:var(--ipr-crema);
}

a{
	color:var(--ipr-oro);
}

a:hover{
	color:var(--ipr-oro-light);
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-heading{
	color:var(--ipr-crema);
}

.section-heading{
	letter-spacing:.04em;
}

.section-subheading,
.text-muted{
	color:var(--ipr-muted) !important;
}

/* NAVBAR */

#mainNav,
#mainNav.navbar-shrink,
#mainNav.navbar-expand-lg,
#mainNav.navbar-expand-lg.navbar-shrink{
	background:rgba(8,6,15,.97) !important;
	background-color:rgba(8,6,15,.97) !important;
	border-bottom:1px solid rgba(139,92,246,.22);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	padding:0 !important;
	height:62px !important;
	min-height:62px !important;
	max-height:62px !important;
	transition:none !important;
}

/* Desktop: container fisso 62px */
@media (min-width:992px){
	#mainNav > .container{
		height:62px !important;
		display:flex !important;
		align-items:center !important;
		flex-wrap:nowrap !important;
	}
}

/* Mobile */
@media (max-width:991px){
	#mainNav{
		height:62px !important;
		/* su mobile la barra rimane 62px, il menu aperto esce sotto come pannello */
	}
	#mainNav > .container{
		display:flex !important;
		flex-direction:row !important;
		align-items:center !important;
		flex-wrap:nowrap !important;
		height:62px !important;
		padding-top:0 !important;
		padding-bottom:0 !important;
	}
	#mainNav .navbar-brand{
		flex:1 !important;
		height:62px !important;
		display:flex !important;
		align-items:center !important;
	}
	#mainNav .navbar-toggler{
		position:static !important;
		height:auto !important;
		min-height:44px !important;
		min-width:44px !important;
		transform:none !important;
		flex-shrink:0 !important;
		margin:0 !important;
		padding:.45rem .75rem !important;
		display:flex !important;
		align-items:center !important;
		justify-content:center !important;
	}
	#navbarResponsive .nav-link{
		padding-top:.7rem !important;
		padding-bottom:.7rem !important;
		min-height:44px;
		display:flex !important;
		align-items:center;
	}
	/* Pannello menu: assoluto rispetto al fixed #mainNav → scende sotto la barra */
	#navbarResponsive.show,
	#navbarResponsive.collapsing{
		position:absolute !important;
		top:62px !important;
		left:0 !important;
		width:100vw !important;
		background:rgb(14,11,48) !important;
		border-top:1px solid rgba(139,92,246,.25) !important;
		border-bottom:1px solid rgba(139,92,246,.18) !important;
		padding:.75rem 1.5rem 1.5rem !important;
		z-index:1028 !important;
		box-shadow:0 8px 32px rgba(0,0,0,.5) !important;
	}
}

#mainNav .navbar-brand,
#mainNav.navbar-shrink .navbar-brand{
	display:flex !important;
	align-items:center !important;
	padding:0 !important;
	margin:0 !important;
	height:46px !important;
	overflow:hidden;
	transition:none !important;
	font-size:1rem !important;
	flex-shrink:0;
}

#mainNav .navbar-logo{
	display:block;
	width:auto !important;
	height:46px !important;
	max-height:46px !important;
	max-width:none !important;
	transition:none !important;
}

#mainNav .navbar-nav .nav-item .nav-link{
	color:rgba(237,233,254,.7) !important;
	font-size:.85rem;
	letter-spacing:.1em;
	font-weight:500;
	transition:color .2s ease;
}

#mainNav .navbar-nav .nav-item .nav-link:hover{
	color:rgba(237,233,254,.95) !important;
}

#mainNav .navbar-nav .nav-item .nav-link.active{
	color:var(--ipr-oro) !important;
	font-weight:600;
}

#mainNav .navbar-toggler{
	background:transparent;
	border:1px solid rgba(139,92,246,.45);
	border-radius:6px;
	color:var(--ipr-oro);
	flex-shrink:0;
	padding:.3rem .55rem;
	font-size:.8rem;
}

/* HERO */

header.masthead{
	position:relative;
	min-height:100vh;
	display:flex;
	align-items:center;
	padding-top:7rem !important;
	padding-bottom:5.5rem !important;
	background-color:var(--ipr-carbone);
	background-image:url('/assets/img/header-bg.png');
	background-position:92% center;
	background-size:auto 82%;
	background-repeat:no-repeat;
	overflow:hidden;
}

header.masthead::before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(
		to right,
		var(--ipr-carbone)          0%,
		var(--ipr-carbone)          30%,
		rgba(8,6,15,.92)            46%,
		rgba(8,6,15,.52)            62%,
		rgba(8,6,15,.28)            78%,
		rgba(8,6,15,.18)           100%
	);
	z-index:0;
}

/* Overlay globale per abbassare luminosità foto */
header.masthead::after{
	content:"";
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.18);
	z-index:1;
	pointer-events:none;
}

header.masthead .container{
	position:relative;
	z-index:2;
}

.masthead-text{
	max-width:540px;
}

/* HERO IMAGE */

.hero-img-main{
	display:block;
	width:100%;
	max-width:440px;
	border-radius:1.75rem;
	object-fit:cover;
	box-shadow:
		0 20px 60px rgba(0,0,0,.55),
		0 0 48px rgba(139,92,246,.14);
}

.masthead-subheading{
	font-family:"Cormorant Garamond", serif !important;
	color:rgba(237,233,254,.92) !important;
	font-size:1.1rem !important;
	font-weight:600 !important;
	font-style:normal !important;
	letter-spacing:.22em !important;
	text-transform:uppercase;
	margin-bottom:2rem !important;
	display:inline-block;
	background:rgba(13,1,24,.45);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
	border-radius:3px;
	padding:.3rem 1.1rem;
	text-shadow:none;
}

.masthead-heading{
	font-family:"Cormorant Garamond", serif !important;
	color:var(--ipr-white) !important;
	font-size:4rem !important;
	font-weight:600 !important;
	line-height:1 !important;
	letter-spacing:.04em !important;
	text-transform:none !important;
	max-width:none;
	margin:0 !important;
	text-shadow:0 2px 18px rgba(0,0,0,.85), 0 8px 40px rgba(13,1,24,.75);
}

.masthead-heading span{
	display:block;
}

.hero-description{
	max-width:600px;
	margin:2.4rem auto 0;
	color:rgba(237,233,254,.95);
	font-size:.98rem;
	line-height:1.85;
	display:inline-block;
	background:rgba(13,1,24,.42);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
	border-radius:4px;
	padding:.6rem 1.4rem;
}

.hero-tagline{
	color:rgba(237,233,254,.78);
	font-family:"Cormorant Garamond", serif;
	font-size:1rem;
	font-weight:500;
	letter-spacing:.22em;
	text-transform:uppercase;
	margin:1.4rem 0 0;
	text-shadow:0 2px 12px rgba(0,0,0,.85);
}

.hero-sub{
	color:rgba(237,233,254,.6);
	font-size:.95rem;
	line-height:1.65;
	margin-top:1rem;
	text-shadow:0 1px 8px rgba(0,0,0,.7);
}

.hero-buttons{
	margin-top:2.2rem;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:.9rem;
}

.hero-cta-secondary{
	font-size:.82rem;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:rgba(237,233,254,.42);
	text-decoration:none;
	transition:color .2s;
}

.hero-cta-secondary:hover{
	color:rgba(139,92,246,.8);
	text-decoration:none;
}

/* BUTTONS */

.btn{
	border-radius:12px;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
	transition:
		transform .2s ease,
		box-shadow .25s ease,
		background .25s ease,
		color .25s ease,
		border-color .25s ease;
}

.btn:hover{
	transform:translateY(-2px);
}

.btn-primary{
	background:
		linear-gradient(
			180deg,
			var(--ipr-oro-light) 0%,
			var(--ipr-oro) 100%
		) !important;
	border-color:var(--ipr-oro) !important;
	color:#fff !important;
	box-shadow:
		0 16px 34px rgba(0,0,0,.38),
		inset 0 1px 0 rgba(255,255,255,.18);
}

.btn-primary:hover{
	background:
		linear-gradient(
			180deg,
			#C4B5FD 0%,
			var(--ipr-oro-light) 100%
		) !important;
	border-color:var(--ipr-oro-light) !important;
	color:#fff !important;
	box-shadow:
		0 20px 40px rgba(0,0,0,.44),
		inset 0 1px 0 rgba(255,255,255,.22);
}

.btn-xl{
	padding:1.15rem 2.4rem;
	font-size:.95rem;
}

.btn-outline-dark,
.btn-outline-light{
	background:transparent !important;
	border-color:var(--ipr-oro) !important;
	color:var(--ipr-oro) !important;
}

.btn-outline-dark:hover,
.btn-outline-light:hover{
	background:var(--ipr-oro) !important;
	border-color:var(--ipr-oro) !important;
	color:#fff !important;
}

.btn-dark{
	background:var(--ipr-carbone) !important;
	border-color:var(--ipr-carbone) !important;
	color:var(--ipr-crema) !important;
}

/* SECTIONS */

.page-section{
	background:var(--ipr-carbone);
	padding-top:5rem;
	padding-bottom:5rem;
}

.page-section.bg-light{
	background:var(--ipr-carbone-soft) !important;
	border-top:1px solid rgba(139,92,246,.1);
	border-bottom:1px solid rgba(139,92,246,.1);
}

.servizi-section{
	background:var(--ipr-carbone);
	border-top:1px solid rgba(139,92,246,.1);
}

/* SERVICES */

.fa-stack-2x.text-primary,
.text-primary{
	color:var(--ipr-oro) !important;
}

.fa-inverse{
	color:var(--ipr-carbone) !important;
}

/* CARDS */

.card{
	background:rgba(10,8,20,.96) !important;
	color:var(--ipr-crema);
	border:1px solid rgba(139,92,246,.22) !important;
	border-radius:var(--ipr-radius) !important;
	box-shadow:var(--ipr-shadow);
	overflow:hidden;
}

.card-title,
.card-text,
.card strong,
.card .h5{
	color:var(--ipr-crema);
}

.card.border-dark{
	border-color:var(--ipr-oro) !important;
}

/* PORTFOLIO */

.portfolio-section{ background:var(--ipr-carbone-soft); }

.portfolio-item{
	border-radius:var(--ipr-radius);
	overflow:hidden;
	background:var(--ipr-carbone);
	border:1px solid rgba(139,92,246,.14);
	box-shadow:var(--ipr-shadow-soft);
	transition:border-color .25s ease, box-shadow .25s ease;
	height:100%;
	display:flex;
	flex-direction:column;
}

.portfolio-item:hover{
	border-color:rgba(139,92,246,.35);
	box-shadow:0 20px 44px rgba(0,0,0,.45), 0 0 0 1px rgba(139,92,246,.18);
}

.portfolio-link{
	display:block;
	overflow:hidden;
	position:relative;
	text-decoration:none;
}

.portfolio-img-wrap{
	position:relative;
	aspect-ratio:4/3;
	overflow:hidden;
	background:rgba(10,8,20,.8);
}

.portfolio-img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .45s ease;
}

.portfolio-item:hover .portfolio-img{ transform:scale(1.04); }

.portfolio-img-empty{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:linear-gradient(135deg,rgba(10,8,20,.9) 0%,rgba(20,16,40,.6) 100%);
}

.portfolio-img-empty::after{
	content:'';
	width:48px;
	height:48px;
	border:1.5px dashed rgba(139,92,246,.2);
	border-radius:50%;
}

.portfolio-hover-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(to top,rgba(8,6,15,.82) 0%,rgba(8,6,15,.1) 55%,transparent 100%);
	opacity:0;
	transition:opacity .3s ease;
	display:flex;
	align-items:flex-end;
	padding:1.1rem 1.25rem;
}

.portfolio-item:hover .portfolio-hover-overlay{ opacity:1; }

.portfolio-hover-cta{
	font-size:.75rem;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:#fff;
	font-weight:600;
}

.portfolio-caption{
	padding:1rem 1.2rem 1.25rem;
	flex:1;
	display:flex;
	flex-direction:column;
	background:var(--ipr-carbone) !important;
	text-align:left !important;
}

.portfolio-caption-tag{
	font-size:.65rem;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:rgba(139,92,246,.65);
	margin-bottom:.45rem;
}

.portfolio-caption-heading{
	font-size:1rem;
	font-weight:600;
	color:var(--ipr-crema);
	margin-bottom:.35rem;
	line-height:1.35;
}

.portfolio-caption-desc{
	font-size:.82rem;
	color:rgba(237,233,254,.45);
	margin:0;
	line-height:1.6;
}

.portfolio-item--placeholder .portfolio-hover-overlay{ display:none; }

/* Swipe hint portfolio mobile */
.portfolio-swipe-hint{
	align-items:center;
	justify-content:center;
	gap:.5rem;
	margin-top:.75rem;
	margin-bottom:.25rem;
	color:rgba(139,92,246,.5);
	font-size:.72rem;
	letter-spacing:.1em;
	text-transform:uppercase;
}
.portfolio-swipe-icon{ font-size:.85rem; }
.portfolio-swipe-text{ font-weight:500; }

/* TIMELINE */

.timeline > li .timeline-panel{
	background:rgba(10,8,20,.96);
	color:var(--ipr-crema);
	border:1px solid rgba(139,92,246,.18);
	border-radius:var(--ipr-radius);
	box-shadow:var(--ipr-shadow-soft);
	padding:1.5rem;
}

.timeline > li .timeline-image{
	background:var(--ipr-oro);
	border-color:var(--ipr-fumo);
	color:#fff;
}

.timeline > li .timeline-image h4{
	color:#fff;
}

.timeline-heading h4{
	color:var(--ipr-crema);
}

/* FOOTER */

.footer{
	background:var(--ipr-oro);
	color:var(--ipr-carbone);
}

.footer a,
.footer .link-dark{
	color:var(--ipr-carbone) !important;
}

/* METODO PREMIUM */

.metodo-section{
	background:var(--ipr-carbone);
	position:relative;
}

.metodo-header{
	max-width:880px;
	margin:0 auto 4.5rem;
}

.section-kicker{
	margin-bottom:.75rem;
	color:rgba(139,92,246,.7);
	font-size:.68rem;
	font-weight:600;
	letter-spacing:.22em;
	text-transform:uppercase;
}

.metodo-section .section-heading{
	max-width:860px;
	margin:0 auto;
	font-family:"Cormorant Garamond", serif;
	font-size:3.8rem;
	font-weight:600;
	line-height:1;
	letter-spacing:-.025em;
	text-transform:none !important;
}

.section-intro{
	max-width:700px;
	margin:1.1rem auto 0;
	color:var(--ipr-muted);
	font-size:.97rem;
	line-height:1.85;
}

.metodo-grid{
	row-gap:1.5rem;
}

.metodo-card{
	height:100%;
	padding:1.5rem 1.7rem;
	background:rgba(10,8,20,.55);
	border:1px solid rgba(139,92,246,.13);
	border-radius:14px;
	box-shadow:0 10px 28px rgba(0,0,0,.22);
	text-align:left;
	transition:border-color .25s ease, box-shadow .25s ease;
}

.metodo-card:hover{
	border-color:rgba(139,92,246,.28);
	box-shadow:0 14px 36px rgba(0,0,0,.3);
}

.metodo-number{
	margin-bottom:.7rem;
	color:rgba(139,92,246,.75);
	font-family:"Cormorant Garamond", serif;
	font-size:1.9rem;
	font-weight:600;
	line-height:1;
	letter-spacing:-.02em;
}

.metodo-card h4{
	margin-bottom:.55rem;
	color:var(--ipr-crema);
	font-family:"Cormorant Garamond", serif;
	font-size:1.35rem;
	font-weight:600;
	line-height:1.1;
	letter-spacing:-.01em;
}

.metodo-card p{
	margin:0;
	color:rgba(237,233,254,.62);
	font-size:.9rem;
	line-height:1.75;
}

/* PROCESSO PREMIUM */

.processo-section{
	background:var(--ipr-fumo);
	border-top:1px solid rgba(139,92,246,.1);
	border-bottom:1px solid rgba(139,92,246,.1);
}

.processo-header{
	max-width:780px;
	margin:0 auto 2.5rem;
}

.processo-grid{
	margin-top:.5rem;
}

.processo-card{
	height:100%;
	padding:1.4rem 1.6rem;
	background:rgba(10,8,20,.6);
	border:1px solid rgba(139,92,246,.12);
	border-radius:14px;
	box-shadow:0 10px 28px rgba(0,0,0,.22);
	transition:border-color .25s ease, box-shadow .25s ease;
}

.processo-card:hover{
	border-color:rgba(139,92,246,.28);
	box-shadow:0 14px 36px rgba(0,0,0,.3), 0 0 20px rgba(139,92,246,.04);
}

.processo-number{
	margin-bottom:.55rem;
	color:rgba(139,92,246,.8);
	font-family:"Cormorant Garamond", serif;
	font-size:1.9rem;
	font-weight:600;
	line-height:1;
	letter-spacing:-.02em;
}

.processo-card h4{
	margin-bottom:.55rem;
	font-size:1.1rem;
	font-weight:700;
	line-height:1.2;
	color:var(--ipr-crema);
}

.processo-card p{
	margin:0;
	color:rgba(237,233,254,.62);
	font-size:.9rem;
	line-height:1.75;
}

.processo-cta{
	margin-top:2.5rem;
}

.processo-micro{
	margin-top:.9rem;
	font-size:.78rem;
	letter-spacing:.06em;
	color:rgba(237,233,254,.32);
	margin-bottom:0;
}

/* CONTATTI PREMIUM */

.contatti-section{
	background:var(--ipr-carbone) !important;
	border-top:1px solid rgba(139,92,246,.16);
}

.contatti-header{
	max-width:860px;
	margin:0 auto 2.5rem;
}

/* Cosa riceverai */

.contatti-riceverai{
	margin-bottom:2.5rem;
	padding:1.5rem 1.75rem;
	background:rgba(10,8,20,.4);
	border:1px solid rgba(139,92,246,.1);
	border-radius:14px;
}

.riceverai-item{
	display:flex;
	gap:.9rem;
	align-items:flex-start;
}

.riceverai-icon{
	font-size:.95rem;
	color:rgba(139,92,246,.6);
	margin-top:.15rem;
	flex-shrink:0;
}

.riceverai-item strong{
	display:block;
	font-size:.88rem;
	font-weight:600;
	color:var(--ipr-crema);
	margin-bottom:.2rem;
}

.riceverai-item p{
	font-size:.8rem;
	color:rgba(237,233,254,.45);
	margin:0;
	line-height:1.55;
}

/* Upload guide */

.upload-guide{
	display:flex;
	gap:.4rem;
	flex-wrap:wrap;
	margin-top:.35rem;
}

.upload-guide-chip{
	font-size:.64rem;
	letter-spacing:.1em;
	text-transform:uppercase;
	padding:.15rem .55rem;
	border:1px solid rgba(139,92,246,.18);
	border-radius:4px;
	color:rgba(237,233,254,.38);
}

/* ── SERVIZI ───────────────────────────────────────────── */

.servizio-card{
	background:var(--ipr-carbone-soft);
	border:1px solid rgba(139,92,246,.18);
	border-radius:14px;
	padding:1.8rem 1.6rem 1.4rem;
	height:100%;
	display:flex;
	flex-direction:column;
	transition:border-color .25s ease;
}

.servizio-card:hover{
	border-color:rgba(139,92,246,.35);
}

.servizio-icon{
	margin-bottom:.9rem;
}

.servizio-icon i{
	font-size:1.5rem;
	color:var(--ipr-oro);
}

.servizio-title{
	font-size:1.2rem;
	font-weight:700;
	color:var(--ipr-crema);
	margin-bottom:.4rem;
	letter-spacing:.02em;
}

.servizio-desc{
	font-size:.86rem;
	color:rgba(237,233,254,.5);
	margin-bottom:1rem;
	line-height:1.6;
}

.servizio-include-label{
	font-size:.65rem;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:rgba(139,92,246,.55);
	margin-bottom:.5rem;
}

.servizio-list{
	list-style:none;
	padding:0;
	margin:0;
	flex:1;
	color:rgba(237,233,254,.75);
	font-size:.875rem;
	line-height:1.6;
}

.servizio-list li{
	padding:.28rem 0 .28rem 1.2rem;
	position:relative;
	border-bottom:1px solid rgba(139,92,246,.08);
}

.servizio-list li:last-child{
	border-bottom:none;
}

.servizio-list li::before{
	content:"›";
	position:absolute;
	left:0;
	color:rgba(139,92,246,.6);
	font-weight:700;
}

.servizio-price{
	font-size:.82rem;
	font-weight:500;
	color:rgba(237,233,254,.32);
	text-align:right;
	letter-spacing:.01em;
	margin-top:1rem;
	padding-top:.65rem;
	border-top:1px solid rgba(139,92,246,.08);
}

.servizio-cta{
	display:block;
	width:100%;
	margin-top:.85rem;
	border-color:rgba(139,92,246,.35);
	color:var(--ipr-oro-light);
	font-size:.82rem;
	letter-spacing:.03em;
	transition:border-color .2s, background .2s, color .2s;
}
.servizio-cta:hover{
	border-color:var(--ipr-oro);
	background:rgba(139,92,246,.1);
	color:var(--ipr-crema);
}

/* ── GRADAZIONE ────────────────────────────────────────── */

.gradazione-block{
	background:var(--ipr-carbone-soft);
	border:1px solid rgba(139,92,246,.18);
	border-radius:14px;
	padding:2.5rem 2rem;
	margin-bottom:1rem;
}

.gradazione-title{
	font-size:1.2rem;
	font-weight:700;
	color:rgba(237,233,254,.9);
	margin-bottom:.5rem;
}

.gradazione-intro{
	color:rgba(237,233,254,.5);
	font-size:.86rem;
	line-height:1.7;
}

.gradazione-table{
	width:100%;
	border-collapse:collapse;
	font-size:.875rem;
	color:rgba(237,233,254,.78);
}

.gradazione-table thead tr{
	border-bottom:1px solid rgba(139,92,246,.3);
}

.gradazione-table th{
	padding:.55rem .8rem;
	font-weight:600;
	color:rgba(237,233,254,.45);
	text-transform:uppercase;
	font-size:.7rem;
	letter-spacing:.1em;
	text-align:left;
}

.gradazione-table td{
	padding:.7rem .8rem;
	border-bottom:1px solid rgba(139,92,246,.08);
	vertical-align:middle;
}

.gradazione-table tbody tr:last-child td{
	border-bottom:none;
}

.gradazione-row-express td{
	background:rgba(139,92,246,.04);
}

.gradazione-zona{
	font-size:.72rem;
	color:rgba(237,233,254,.38);
	margin-left:.3rem;
}

.gradazione-badge{
	display:inline-block;
	font-size:.6rem;
	letter-spacing:.1em;
	text-transform:uppercase;
	padding:.15rem .45rem;
	border-radius:4px;
	margin-left:.4rem;
	vertical-align:middle;
	font-weight:600;
}

.gradazione-badge--rec{
	background:rgba(139,92,246,.15);
	color:rgba(167,139,250,.9);
	border:1px solid rgba(139,92,246,.25);
}

.gradazione-badge--fast{
	background:rgba(234,179,8,.1);
	color:rgba(253,224,71,.8);
	border:1px solid rgba(234,179,8,.2);
}

.gradazione-tempo{
	font-size:.82rem;
	color:rgba(237,233,254,.6);
}

.gradazione-tempo--fast{
	color:rgba(253,224,71,.75);
}

.gradazione-tempo--nd{
	color:rgba(237,233,254,.28);
}

.gradazione-disclaimer{
	margin-top:.85rem;
	font-size:.72rem;
	color:rgba(237,233,254,.28);
	letter-spacing:.04em;
	text-align:center;
}

@media(max-width:576px){
	.gradazione-table th:last-child,
	.gradazione-table td:last-child{
		display:none;
	}
	.gradazione-block{
		padding:1.5rem 1rem;
	}
	.servizio-card{
		padding:1.5rem 1.2rem 1.2rem;
	}
}

/* ── END SERVIZI/GRADAZIONE ────────────────────────────── */

.contatti-card{
	max-width:1120px;
	margin:0 auto;
	padding:2rem;
	background:rgba(10,8,20,.5);
	border:1px solid rgba(139,92,246,.14);
	border-radius:20px;
	box-shadow:0 16px 48px rgba(0,0,0,.3);
}

.contatti-wp-note{
	display:flex;
	align-items:center;
	gap:.65rem;
	margin-bottom:1.5rem;
	padding:.65rem 1rem;
	background:rgba(37,211,102,.06);
	border:1px solid rgba(37,211,102,.18);
	border-radius:8px;
	font-size:.88rem;
	color:rgba(237,233,254,.65);
}

.contatti-wp-note i{
	color:#25d366;
	font-size:1.15rem;
	flex-shrink:0;
}

.contatti-wp-note a{
	color:#25d366;
	font-weight:600;
	text-decoration:none;
}

.contatti-wp-note a:hover{
	color:#4ade80;
}


/* ── FIDUCIA ───────────────────────────────────────────── */

.fiducia-section{
	background:var(--ipr-fumo);
	border-top:1px solid rgba(139,92,246,.1);
}

.fiducia-pillar{
	padding:1.5rem 1.2rem;
	border-top:2px solid rgba(139,92,246,.22);
	height:100%;
}

.fiducia-pillar-icon{
	margin-bottom:.85rem;
}

.fiducia-pillar-icon i{
	font-size:1.3rem;
	color:rgba(139,92,246,.7);
}

.fiducia-pillar-title{
	font-size:.95rem;
	font-weight:700;
	color:var(--ipr-crema);
	margin-bottom:.5rem;
	letter-spacing:.01em;
}

.fiducia-pillar-text{
	font-size:.85rem;
	color:rgba(237,233,254,.52);
	line-height:1.7;
	margin:0;
}

/* Stats */

.fiducia-stats{
	padding:2rem 0 .5rem;
	border-top:1px solid rgba(139,92,246,.1);
}

.fiducia-stat-num{
	font-family:'Cormorant Garamond',serif;
	font-size:2rem;
	font-weight:700;
	color:var(--ipr-crema);
	letter-spacing:.02em;
	line-height:1;
	margin-bottom:.3rem;
}

.fiducia-stat-label{
	font-size:.72rem;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:rgba(237,233,254,.35);
}

.fiducia-stat-sep{
	width:1px;
	background:rgba(139,92,246,.18);
	align-self:stretch;
	margin:0 1.5rem;
}

/* ── FAQ ───────────────────────────────────────────────── */

.faq-section{ background:var(--ipr-carbone-soft); }

.faq-accordion{ display:flex; flex-direction:column; gap:.5rem; }

.faq-item{
	border:1px solid rgba(139,92,246,.14);
	border-radius:10px;
	overflow:hidden;
	background:rgba(10,8,20,.45);
	transition:border-color .2s ease;
}
.faq-item:hover{
	border-color:rgba(139,92,246,.30);
}

.faq-question{
	display:block;
	width:100%;
	text-align:left;
	background:transparent;
	border:none;
	padding:1rem 1.25rem;
	font-size:.95rem;
	font-weight:600;
	color:var(--ipr-crema);
	cursor:pointer;
	position:relative;
	padding-right:2.5rem;
	transition:color .2s, background .2s;
}

.faq-question::after{
	content:"+";
	position:absolute;
	right:1.25rem;
	top:50%;
	transform:translateY(-50%);
	font-size:1.1rem;
	font-weight:300;
	color:rgba(139,92,246,.6);
	transition:transform .25s ease, color .2s;
}

.faq-question:not(.collapsed)::after{
	transform:translateY(-50%) rotate(45deg);
	color:rgba(139,92,246,.9);
}

.faq-question:hover{
	color:var(--ipr-crema);
	background:rgba(139,92,246,.06);
}

.faq-answer{
	padding:.1rem 1.25rem 1rem;
	font-size:.88rem;
	color:rgba(237,233,254,.6);
	line-height:1.75;
	border-top:1px solid rgba(139,92,246,.1);
}

/* CONTATTI */

.contatti-section .form-group{
	margin-bottom:.9rem;
}

.contatti-section label{
	display:block;
	margin-bottom:.45rem;
	color:rgba(237,233,254,.65);
	font-size:.82rem;
	font-weight:600;
	letter-spacing:.06em;
	text-transform:uppercase;
}

.contatti-section .form-control{
	width:100%;
	min-height:58px;
	background:rgba(13,1,24,.55) !important;
	border:1px solid rgba(139,92,246,.18) !important;
	border-radius:14px !important;
	color:var(--ipr-crema) !important;
	padding:1rem 1.1rem !important;
	font-size:1rem;
	box-shadow:none !important;
}

.contatti-section textarea.form-control{
	min-height:229px;
	resize:vertical;
}

.contatti-section .form-control:focus{
	background:rgba(13,1,24,.78) !important;
	border-color:rgba(139,92,246,.55) !important;
	box-shadow:0 0 0 .2rem rgba(139,92,246,.10) !important;
}

.contatti-section .form-control::placeholder{
	color:rgba(237,233,254,.42);
}

.contatti-upload{
	display:grid;
	grid-template-columns:1fr 1.4fr;
	gap:2rem;
	align-items:center;
	margin-top:1.2rem;
	padding:1.6rem;
	background:rgba(13,1,24,.36);
	border:1px solid rgba(139,92,246,.14);
	border-radius:20px;
}

.contatti-upload p{
	margin:0;
	color:rgba(237,233,254,.62);
	line-height:1.6;
}

.contatti-footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:2rem;
	margin-top:2rem;
}

.contatti-footer p{
	max-width:560px;
	margin:0;
	color:rgba(237,233,254,.58) !important;
	font-size:.9rem;
	line-height:1.7;
}

.contatti-footer .btn{
	white-space:nowrap;
}

/* SUCCESS STATE */

.contatti-success{
	padding:2.5rem 1.5rem;
	text-align:center;
	color:#fff;
}

.contatti-success-icon{
	width:64px;
	height:64px;
	background:var(--ipr-oro);
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:2rem;
	margin:0 auto 1.5rem;
	color:#fff;
}

.contatti-success h3{
	color:#fff;
	margin-bottom:.75rem;
}

.contatti-success p{
	color:rgba(255,255,255,.85);
}

.contatti-tracking-box{
	background:rgba(255,255,255,.10);
	border:1px solid rgba(139,92,246,.35);
	border-radius:var(--ipr-radius);
	padding:.75rem 1rem;
	margin:1rem 0;
	word-break:break-all;
}

.contatti-tracking-box a{
	color:var(--ipr-oro-light);
	font-weight:600;
	text-decoration:none;
}

.contatti-tracking-box a:hover{
	text-decoration:underline;
}

.contatti-success-note{
	font-size:.9rem;
	color:rgba(237,233,254,.65) !important;
	margin-top:.5rem;
}

/* FOOTER ADMIN LINK */

.footer-admin-link{
	font-size:.75rem;
	color:rgba(139,92,246,.35) !important;
	text-decoration:none;
}

.footer-admin-link:hover{
	color:rgba(139,92,246,.65) !important;
}

/* CUSTOM FILE INPUT */

.custom-upload{
	position:relative;
	display:flex;
	align-items:center;
	gap:1rem;
	width:100%;
	min-height:72px;
	padding:.55rem;
	background:rgba(8,0,16,.88);
	border:1px solid rgba(139,92,246,.22);
	border-radius:18px;
	cursor:pointer;
	overflow:hidden;
}

.custom-upload input{
	position:absolute;
	inset:0;
	opacity:0;
	cursor:pointer;
}

.custom-upload-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:52px;
	padding:0 1.4rem;
	border-radius:12px;
	background:
		linear-gradient(
			180deg,
			var(--ipr-oro-light) 0%,
			var(--ipr-oro) 100%
		);
	color:#fff;
	font-size:.82rem;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
	flex-shrink:0;
}

.custom-upload-text{
	color:rgba(237,233,254,.88);
	font-size:1rem;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

/* RESPONSIVE */

@media (max-width:1200px){

	.masthead-heading{
		font-size:3.8rem !important;
		max-width:900px;
	}
}

@media (max-width:992px){

	/* Accedi button in collapsed mobile nav */
	#navbarResponsive .btn{
		display:block;
		text-align:center;
		margin:.25rem 0 .5rem;
		width:100%;
	}

	header.masthead{
		padding-top:6rem !important;
		padding-bottom:3.5rem !important;
		align-items:center;
	}

	#mainNav .navbar-brand{
		width:auto;
		height:auto;
		padding:0;
	}

	#mainNav .navbar-logo{
		width:auto !important;
		height:38px !important;
		max-height:38px !important;
	}

	.masthead-subheading{
		max-width:320px;
		margin-left:auto !important;
		margin-right:auto !important;
		margin-bottom:1.7rem !important;
		font-size:.95rem !important;
		line-height:1.65 !important;
		letter-spacing:.16em !important;
	}

	.masthead-heading{
		font-size:3.2rem !important;
		line-height:1 !important;
		letter-spacing:.03em !important;
		max-width:520px;
	}

	.hero-tagline{
		font-size:.88rem;
		letter-spacing:.18em;
		margin-top:1rem;
	}

	.hero-buttons{
		margin-top:2rem;
	}

	.btn-xl{
		padding:1rem 1.7rem;
		font-size:.85rem;
	}

	.metodo-header,
	.processo-header{
		margin-bottom:3rem;
	}

	.metodo-section .section-heading{
		font-size:3rem;
	}

	.metodo-card{
		padding:2rem;
	}

	.processo-card{
		padding:2.2rem;
	}

	.contatti-card{
		padding:2.2rem;
	}

	.contatti-card-header,
	.contatti-footer{
		flex-direction:column;
		align-items:flex-start;
	}

	.contatti-upload{
		grid-template-columns:1fr;
		gap:1rem;
	}

	.contatti-footer p{
		margin-bottom:1rem;
	}

	.contatti-footer .btn{
		width:100%;
	}
}

@media (max-width:768px){

	.page-section{
		padding-top:3.5rem;
		padding-bottom:3.5rem;
	}

	header.masthead{
		min-height:auto !important;
		padding-top:6.6rem !important;
		padding-bottom:2.8rem !important;
		align-items:flex-start;
		background-size:100% auto !important;
		background-position:center 62px !important;
	}

	.masthead-subheading{
		max-width:none;
		font-size:.74rem !important;
		line-height:1.45 !important;
		letter-spacing:.16em !important;
		margin-bottom:1.3rem !important;
		padding:0 1rem;
	}

	.masthead-heading{
		font-size:2.8rem !important;
		line-height:1 !important;
		letter-spacing:.03em !important;
		max-width:340px;
	}

	.hero-tagline{
		font-size:.82rem;
		letter-spacing:.16em;
		margin-top:.9rem;
	}

	.hero-buttons{
		margin-top:1.6rem;
	}

	.btn-xl{
		width:100%;
		max-width:320px;
		padding:.95rem 1.2rem;
		font-size:.82rem;
		line-height:1.35;
		border-radius:12px;
	}

	.metodo-section{
		padding-top:4rem;
		padding-bottom:4.5rem;
	}

	.metodo-header{
		margin-bottom:2.4rem;
	}

	.metodo-section .section-heading{
		font-size:2.35rem;
		line-height:1.05;
	}

	.section-intro{
		font-size:.95rem;
		line-height:1.75;
	}

	.metodo-number{
		font-size:2.8rem;
		margin-bottom:1.5rem;
	}

	.metodo-card h4{
		font-size:1.65rem;
	}

	.processo-section{
		padding-top:4.5rem;
		padding-bottom:4.5rem;
	}

	.processo-header{
		margin-bottom:2.6rem;
	}

	.processo-card{
		padding:2rem;
		border-radius:20px;
	}

	.processo-number{
		font-size:2.7rem;
		margin-bottom:1.2rem;
	}

	.processo-card h4{
		font-size:1.7rem;
	}

	.processo-card p{
		font-size:.95rem;
		line-height:1.8;
	}
}

@media (max-width:576px){

	.contatti-card{
		padding:1.5rem;
		border-radius:22px;
	}

	.contatti-card-header h3{
		font-size:1.7rem;
	}

	.contatti-section textarea.form-control{
		min-height:180px;
	}

	.contatti-upload{
		padding:1.4rem;
	}

	.custom-upload{
		flex-direction:column;
		align-items:stretch;
		gap:.75rem;
		min-height:auto;
		padding:.75rem;
	}

	.custom-upload-btn{
		width:100%;
		height:48px;
	}

	.custom-upload-text{
		width:100%;
		font-size:.9rem;
		text-align:center;
		white-space:normal;
	}

	/* ── MOBILE COMPACT ── */

	/* Padding sezioni */
	.page-section{
		padding-top:3.25rem;
		padding-bottom:3.25rem;
	}
	.processo-section{
		padding-top:3.25rem;
		padding-bottom:3.25rem;
	}

	/* Heading più piccolo — !important per battere styles.css (.page-section h2.section-heading = 2.5rem) */
	.section-heading{
		font-size:1.5rem !important;
		letter-spacing:.01em;
		margin-bottom:.6rem;
	}

	/* Section intro compatto */
	.section-intro{
		font-size:.85rem;
		line-height:1.6;
		margin-top:.7rem;
	}

	/* Section header: meno margine sotto */
	.processo-header{
		margin-bottom:1.4rem;
	}

	/* ── PORTFOLIO CAROUSEL ── */
	.portfolio-section .row{
		flex-wrap:nowrap;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		-webkit-overflow-scrolling:touch;
		padding-bottom:.75rem;
		margin-left:0;
		margin-right:0;
		scrollbar-width:none;
		-ms-overflow-style:none;
	}
	.portfolio-section .row::-webkit-scrollbar{ display:none; }
	.portfolio-section .row > [class*="col-"]{
		flex:0 0 83%;
		max-width:83%;
		width:83%;
		scroll-snap-align:start;
		padding-left:.5rem;
		padding-right:.5rem;
	}
	.portfolio-section .row > [class*="col-"]:first-child{ padding-left:0; }
	.portfolio-section .row > [class*="col-"]:last-child{ padding-right:0; }
	/* Hint swipe visibile solo mobile */
	.portfolio-swipe-hint{ display:flex !important; }

	/* ── PORTFOLIO: aspect-ratio più corto su mobile ── */
	.portfolio-img-wrap{
		aspect-ratio:16/10;
	}

	/* ── PROCESSO: layout orizzontale su mobile (numero sinistra, testo destra) ── */
	.processo-card{
		display:flex;
		flex-direction:row;
		align-items:flex-start;
		gap:.85rem;
		padding:.9rem 1rem;
		border-radius:12px;
	}
	.processo-number{
		font-size:1.35rem;
		margin-bottom:0;
		flex-shrink:0;
		line-height:1;
		padding-top:.1rem;
		min-width:1.8rem;
	}
	.processo-card-body{ flex:1; min-width:0; }
	.processo-card h4{
		font-size:.92rem;
		margin-bottom:.3rem;
	}
	.processo-card p{
		font-size:.78rem;
		line-height:1.55;
		margin:0;
	}

	/* ── FIDUCIA: 2×2 su mobile ── */
	.fiducia-section .col-lg-3{
		flex:0 0 50%;
		max-width:50%;
		width:50%;
	}
	.fiducia-pillar{
		padding:1rem .7rem;
	}
	.fiducia-pillar-icon i{
		font-size:1rem;
	}
	.fiducia-pillar-title{
		font-size:.82rem;
		margin-bottom:.3rem;
	}
	.fiducia-pillar-text{
		font-size:.75rem;
		line-height:1.55;
	}

	/* ── STATS ── */
	.fiducia-stat-num{ font-size:1.6rem; }
	.fiducia-stat-sep{ margin:0 .65rem; }
	.fiducia-stat-label{ font-size:.65rem; }

	/* ── SERVIZI CAROUSEL ── */
	.servizi-section .row.justify-content-center{
		justify-content:flex-start !important;
		flex-wrap:nowrap;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		-webkit-overflow-scrolling:touch;
		padding-bottom:.75rem;
		margin-left:0;
		margin-right:0;
		scrollbar-width:none;
		-ms-overflow-style:none;
	}
	.servizi-section .row.justify-content-center::-webkit-scrollbar{ display:none; }
	.servizi-section .row.justify-content-center > [class*="col-"]{
		flex:0 0 88%;
		max-width:88%;
		width:88%;
		scroll-snap-align:start;
		padding-left:.5rem;
		padding-right:.5rem;
	}
	.servizi-section .row.justify-content-center > [class*="col-"]:first-child{ padding-left:0; }
	.servizi-section .row.justify-content-center > [class*="col-"]:last-child{ padding-right:0; }
	.servizi-swipe-hint{ display:flex !important; }

	/* ── SERVIZI: card padding ridotto ── */
	.servizio-card{
		padding:1.3rem 1.1rem 1rem;
	}

	/* ── CONTATTI riceverai: più compatto ── */
	.contatti-riceverai{
		padding:1.1rem 1.25rem;
		margin-bottom:1.75rem;
	}
	.riceverai-item strong{ font-size:.82rem; }
	.riceverai-item p{ font-size:.75rem; }

	/* ── CTA: altezza uniforme ── */
	.btn-xl{
		min-height:52px;
	}

	/* ── FAQ: 16px minimi ── */
	.faq-question{
		font-size:1rem;
	}
	.faq-answer{
		font-size:1rem;
		line-height:1.7;
	}
}

@media (max-width:480px){

	#mainNav .navbar-brand{
		padding:0;
	}

	#mainNav .navbar-logo{
		width:auto !important;
		height:34px !important;
		max-height:34px !important;
	}

	header.masthead{
		min-height:auto !important;
		padding-top:6.2rem !important;
		padding-bottom:2.4rem !important;
		background-size:100% auto !important;
		background-position:center 62px !important;
	}

	.masthead-subheading{
		max-width:280px;
		font-size:.78rem !important;
		line-height:1.7 !important;
		letter-spacing:.17em !important;
		margin-bottom:1.2rem !important;
	}

	.masthead-heading{
		font-size:2.4rem !important;
		line-height:1 !important;
		max-width:320px;
	}

	.hero-tagline{
		font-size:.78rem;
		letter-spacing:.14em;
		margin-top:.8rem;
	}

	.hero-buttons{
		margin-top:1.45rem;
	}

	.btn-xl{
		max-width:320px;
		font-size:.82rem;
		padding:.95rem 1.1rem;
	}

	.metodo-section{
		padding-top:3.4rem;
	}

	.metodo-section .section-heading{
		font-size:2.15rem;
	}

	.processo-section{
		padding-top:3.25rem;
		padding-bottom:3.25rem;
	}
}

@media (max-width:380px){

	.masthead-heading{
		font-size:2.2rem !important;
	}

	.hero-tagline{
		font-size:.74rem;
		letter-spacing:.12em;
	}

	.btn-xl{
		font-size:.78rem;
	}
}
/* FOOTER */

.site-footer{
	background:var(--ipr-carbone);
	border-top:1px solid rgba(139,92,246,.18);
	padding:3.5rem 0 0;
}

.footer-cols{
	padding-bottom:2.5rem;
}

.footer-brand img{
	height:30px;
	width:auto;
	display:block;
	margin-bottom:1rem;
	opacity:.85;
}

.footer-brand-desc{
	margin:0 0 .65rem;
	color:rgba(232,237,255,.45);
	font-size:.82rem;
	line-height:1.7;
}

.footer-brand-promise{
	margin:0;
	color:rgba(232,237,255,.28);
	font-size:.76rem;
	line-height:1.65;
	font-style:italic;
}

.footer-contact-block{
	margin-bottom:1rem;
}

.footer-wa-link{
	display:flex;
	align-items:center;
	gap:.75rem;
	text-decoration:none;
	padding:.65rem .9rem;
	border:1px solid rgba(37,211,102,.18);
	border-radius:8px;
	background:rgba(37,211,102,.04);
	transition:border-color .2s, background .2s;
}

.footer-wa-link:hover{
	border-color:rgba(37,211,102,.35);
	background:rgba(37,211,102,.08);
}

.footer-wa-link .footer-contact-icon{
	font-size:1.3rem;
	flex-shrink:0;
}

.footer-wa-link span{
	display:flex;
	flex-direction:column;
	gap:.1rem;
}

.footer-wa-link strong{
	font-size:.88rem;
	color:rgba(232,237,255,.8);
	font-weight:600;
}

.footer-wa-link small{
	font-size:.72rem;
	color:rgba(232,237,255,.38);
}

.footer-contact-note{
	font-size:.74rem;
	color:rgba(232,237,255,.28);
	line-height:1.6;
	margin:0;
}

.footer-cta-link{
	display:inline-block;
	color:var(--ipr-oro-light);
	text-decoration:none;
	font-size:.82rem;
	font-weight:600;
	letter-spacing:.02em;
	transition:color .2s;
}
.footer-cta-link:hover{
	color:var(--ipr-crema);
}

.footer-col-title{
	font-size:.65rem;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:rgba(139,92,246,.55);
	margin-bottom:1rem;
	font-weight:600;
}

.footer-nav-list,
.footer-contact-list{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:.55rem;
}

.footer-nav-list a,
.footer-contact-list a{
	color:rgba(237,233,254,.55);
	text-decoration:none;
	font-size:.85rem;
	transition:color .2s;
}

.footer-nav-list a:hover,
.footer-contact-list a:hover{
	color:var(--ipr-oro-light);
}

.footer-contact-list li{
	display:flex;
	align-items:center;
	gap:.55rem;
}

.footer-contact-icon{
	font-size:1rem;
	color:rgba(37,211,102,.55);
}

.site-footer-bottom{
	border-top:1px solid rgba(139,92,246,.1);
	padding:1.1rem 0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	color:rgba(237,233,254,.32);
	font-size:.78rem;
}

.footer-bottom-links{
	display:flex;
	gap:1.25rem;
}

.footer-bottom-links a{
	color:rgba(237,233,254,.32);
	text-decoration:none;
	font-size:.78rem;
	transition:color .2s;
}

.footer-bottom-links a:hover{ color:rgba(139,92,246,.7); }

.footer-admin-link{
	opacity:.4;
}

.footer-admin-link:hover{
	opacity:.7;
}

@media (max-width:768px){

	.site-footer{ padding-top:2.5rem; }

	.footer-cols{ padding-bottom:1.5rem; }

	.site-footer-bottom{
		flex-direction:column;
		gap:.65rem;
		text-align:center;
		padding:1rem 0;
	}

	.footer-bottom-links{ justify-content:center; }
}

/* =====================================================
   TCG SECTION
   ===================================================== */

.tcg-section{
	background:var(--ipr-carbone);
	padding:5rem 0 4rem;
}

.tcg-grid{
	display:grid;
	grid-template-columns:repeat(6,1fr);
	gap:1rem;
	margin-top:2.5rem;
}

.tcg-card{
	background:var(--ipr-carbone-soft);
	border:1px solid rgba(139,92,246,.22);
	border-radius:14px;
	padding:1.6rem 1.2rem 1.4rem;
	display:flex;
	flex-direction:column;
	transition:border-color .25s,box-shadow .25s,transform .25s;
	cursor:default;
}

.tcg-card:hover{
	border-color:rgba(139,92,246,.6);
	box-shadow:0 0 28px rgba(139,92,246,.18);
	transform:translateY(-3px);
}

.tcg-card-accent{
	width:36px;
	height:4px;
	border-radius:2px;
	margin-bottom:1.1rem;
}

.tcg-card-name{
	font-size:1rem;
	font-weight:700;
	color:var(--ipr-oro-light);
	margin-bottom:.5rem;
	letter-spacing:.03em;
}

.tcg-card-desc{
	font-size:.8rem;
	color:var(--ipr-muted);
	line-height:1.55;
	flex:1;
}

@media(max-width:991px){
	.tcg-grid{ grid-template-columns:repeat(3,1fr); }
}
@media(max-width:575px){
	.tcg-grid{
		display:flex;
		flex-wrap:nowrap;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		-webkit-overflow-scrolling:touch;
		gap:.75rem;
		padding-bottom:.75rem;
		scrollbar-width:none;
		-ms-overflow-style:none;
	}
	.tcg-grid::-webkit-scrollbar{ display:none; }
	.tcg-card{
		flex:0 0 78%;
		max-width:78%;
		scroll-snap-align:start;
	}
	.tcg-swipe-hint{ display:flex !important; }
}

/* HERO GRADIENT — RESPONSIVE */

@media(max-width:991px){
	header.masthead{
		min-height:auto !important;
		background-position:72% center !important;
		align-items:flex-start;
		padding-top:7rem !important;
		padding-bottom:3.5rem !important;
	}
	header.masthead::before{
		background:linear-gradient(
			to bottom,
			#0e0b30             0%,
			#0e0b30             28%,
			rgba(14,11,48,.82)  48%,
			rgba(14,11,48,.38)  72%,
			rgba(14,11,48,.08)  100%
		);
	}
	.tcg-section{
		padding-top:2.5rem !important;
	}
	.masthead-text{
		max-width:100%;
		text-align:center;
	}
	.masthead-heading{
		max-width:100% !important;
		margin:0 auto !important;
		line-height:1.1 !important;
	}
	.hero-tagline{ display:none; }
	.hero-sub{ display:none; }
	.hero-buttons{
		margin-top:1.5rem;
		align-items:center;
	}
	.hero-buttons .btn-xl{
		width:100%;
		padding:1rem 1.5rem !important;
		font-size:.88rem !important;
	}
	.hero-cta-secondary{
		font-size:.75rem !important;
	}
}

@media(max-width:575px){
	header.masthead{
		background-position:65% center !important;
		padding-top:6rem !important;
		padding-bottom:3rem !important;
	}
	.tcg-section{ padding-top:2rem !important; }
	.masthead-heading{ font-size:2.5rem !important; }
	.hero-buttons .btn-xl{
		padding:.85rem 1.6rem !important;
		font-size:.82rem !important;
	}
}

