/* ======================================
   SPECIALITIES — MR PRINT PACK
====================================== */
.dr1052specialities {
	position: relative;
	padding: 130px 0;
	background: radial-gradient(circle at top, rgba(255, 183, 3, .12),
		transparent 60%), linear-gradient(180deg, #020617, #01030a);
	overflow: hidden;
	font-family: 'Montserrat', sans-serif;
}

/* 3D Perspective (Desktop only) */
@media ( min-width : 769px) {
	.dr1052specialities {
		perspective: 1600px;
	}
}

/* ======================================
   CONTAINER
====================================== */
.specialities-container {
	max-width: 1200px;
	margin: auto;
	padding: 0 20px;
	text-align: center;
	position: relative;
	z-index: 2;
}

/* ======================================
   TITLES
====================================== */
.specialities-title {
	font-size: 42px;
	font-weight: 900;
	color: #e5e7eb;
	letter-spacing: 1px;
	margin-bottom: 10px;
	text-shadow: 0 25px 60px rgba(0, 0, 0, .9);
}

.specialities-tagline {
	font-size: 16px;
	color: #9ca3af;
	margin-bottom: 60px;
}

/* ======================================
   GRID
====================================== */
.specialities-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 36px;
}

/* ======================================
   SPECIALITY CARD
====================================== */
.speciality-card {
	position: relative;
	padding: 44px 36px 42px;
	border-radius: 26px;
	background: linear-gradient(145deg, #0b1220, #050b15);
	transform-style: preserve-3d;
	will-change: transform;
	box-shadow: 0 45px 120px rgba(0, 0, 0, .9), inset 0 1px 0
		rgba(255, 255, 255, .05);
	transition: transform .6s cubic-bezier(.22, 1, .36, 1), box-shadow .6s
		ease;
	text-align: left;
	overflow: hidden;
}

/* Top print-plate accent */
.speciality-card::before {
	content: "";
	position: absolute;
	top: 18px;
	left: 18px;
	right: 18px;
	height: 4px;
	border-radius: 4px;
	background: linear-gradient(90deg, #0f766e, #ffb703);
	box-shadow: 0 0 24px rgba(255, 183, 3, .6);
}

/* Highlight card */
.speciality-card.highlight {
	border: 1px solid rgba(255, 183, 3, .35);
}

/* Hover lift (desktop only) */
@media ( min-width : 769px) {
	.speciality-card:hover {
		transform: translateY(-16px) rotateX(8deg);
		box-shadow: 0 80px 170px rgba(0, 0, 0, 1);
	}
}

/* ======================================
   ICON STYLE
====================================== */
.speciality-icon {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: linear-gradient(135deg, #ffb703, #ff7b00);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #020617;
	font-size: 30px;
	box-shadow: 0 20px 40px rgba(255, 183, 3, .45), inset 0 1px 0
		rgba(255, 255, 255, .35);
	transform: translateZ(40px);
}

/* ======================================
   CARD CONTENT
====================================== */
.speciality-card h3 {
	margin-top: 28px;
	font-size: 22px;
	font-weight: 800;
	color: #ffffff;
	letter-spacing: .4px;
}

.speciality-card p {
	margin-top: 16px;
	font-size: 15px;
	line-height: 1.75;
	color: #cbd5e1;
}

/* ======================================
   SCROLL REVEAL STATES
====================================== */
.speciality-card.reveal-init {
	opacity: 0;
	transform: translateY(60px) rotateX(14deg);
}

.speciality-card.reveal-show {
	opacity: 1;
	transform: translateY(0) rotateX(0deg);
	transition: transform 1s cubic-bezier(.22, 1, .36, 1), opacity 1s ease;
}

/* ======================================
   MOBILE SAFE MODE
====================================== */
@media ( max-width : 768px) {
	.dr1052specialities {
		padding: 90px 0;
	}
	.specialities-title {
		font-size: 32px;
	}
	.speciality-card {
		padding: 36px 28px;
		transform: none !important;
	}
	.speciality-icon {
		transform: none;
		box-shadow: 0 12px 24px rgba(255, 183, 3, .45);
	}
}