.ptc-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(36px, 6vw, 76px) 18px clamp(46px, 7vw, 88px);
	background: #f4fcfe;
}

.ptc-hero::before,
.ptc-hero::after {
	position: absolute;
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.ptc-hero::before {
	top: -160px;
	right: 8%;
	width: 360px;
	height: 360px;
	background: radial-gradient(circle, rgba(12, 192, 223, 0.17), transparent 68%);
}

.ptc-hero::after {
	bottom: -190px;
	left: 25%;
	width: 330px;
	height: 330px;
	background: radial-gradient(circle, rgba(255, 102, 196, 0.13), transparent 68%);
}

.ptc-hero-inner {
	display: grid;
	max-width: 1180px;
	margin: 0 auto;
	align-items: center;
	gap: 32px;
}

.ptc-hero-copy {
	position: relative;
	z-index: 2;
}

.ptc-hero-eyebrow {
	display: inline-flex;
	margin: 0 0 14px;
	padding: 7px 12px;
	border: 1px solid #cdecf2;
	border-radius: 8px;
	background: #ffffff;
	color: #15333a;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.ptc-hero h1 {
	max-width: 720px;
	margin: 0;
	font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: clamp(2.05rem, 4.6vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.052em;
	line-height: 1.02;
}

.ptc-hero-description {
	max-width: 620px;
	margin: 20px 0 0;
	color: #58747a;
	font-size: clamp(1rem, 2.6vw, 1.2rem);
	line-height: 1.6;
}

.ptc-hero-actions {
	display: flex;
	margin-top: 28px;
	flex-wrap: wrap;
	gap: 12px;
}

.ptc-hero-button {
	display: inline-flex;
	min-height: 50px;
	padding: 12px 19px;
	border: 2px solid transparent;
	border-radius: 10px;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
}

.ptc-hero-button-primary {
	background: #0cc0df;
	color: #15333a;
	box-shadow: 0 10px 24px rgba(12, 192, 223, 0.24);
}

.ptc-hero-button-secondary {
	border-color: #ff66c4;
	background: #ffffff;
	color: #15333a;
}

.ptc-hero-button:hover,
.ptc-hero-button:focus-visible {
	transform: translateY(-4px);
	box-shadow: 0 14px 28px rgba(21, 51, 58, 0.16);
}

.ptc-hero-button:focus-visible {
	outline: 2px solid #0cc0df;
	outline-offset: 4px;
}

.ptc-hero-visual {
	display: block;
	position: relative;
	width: clamp(200px, 65vw, 280px);
	margin: 0 auto;
}

.ptc-hero-visual::before {
	position: absolute;
	inset: 10% -8% -8% 12%;
	z-index: 0;
	border-radius: 24px;
	background: #ff66c4;
	content: "";
	opacity: 0.13;
	transform: rotate(4deg);
}

.ptc-hero-visual img {
	position: relative;
	z-index: 1;
	width: 100%;
	border: 1px solid #cdecf2;
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 18px 50px rgba(21, 51, 58, 0.12);
}

@media (min-width: 700px) {
	.ptc-hero-inner {
		grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
		gap: clamp(34px, 5vw, 74px);
	}

	.ptc-hero-visual {
		width: 100%;
	}
}

@media (max-width: 499px) {
	.ptc-hero-actions {
		display: flex;
		margin-top: 22px;
		gap: 9px;
	}

	.ptc-hero-button {
		width: auto;
		min-height: 44px;
		padding: 10px 14px;
		flex: 1 1 140px;
	}
}

@media (max-width: 699px) {
	.ptc-hero {
		padding-top: 24px;
		padding-bottom: 30px;
	}

	.ptc-hero-inner {
		gap: 24px;
	}

	.ptc-hero h1 {
		font-size: clamp(1.9rem, 8.8vw, 2.35rem);
	}

	.ptc-hero-description {
		margin-top: 14px;
		line-height: 1.5;
	}

	.ptc-hero-visual {
		width: clamp(190px, 54vw, 230px);
	}
}

@media (max-width: 374px) {
	.ptc-hero {
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.ptc-hero-inner {
		gap: 20px;
	}

	.ptc-hero-visual {
		width: 165px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.ptc-hero-button {
		transition: transform 220ms cubic-bezier(.2,.8,.2,1), box-shadow 220ms ease, background-color 220ms ease;
	}

	.ptc-hero-copy > * {
		animation: ptc-hero-rise 680ms both cubic-bezier(.2,.8,.2,1);
	}

	.ptc-hero-copy > :nth-child(2) { animation-delay: 90ms; }
	.ptc-hero-copy > :nth-child(3) { animation-delay: 170ms; }
	.ptc-hero-copy > :nth-child(4) { animation-delay: 250ms; }

	.ptc-hero-visual {
		animation: ptc-visual-arrive 820ms 140ms both cubic-bezier(.2,.8,.2,1), ptc-visual-float 5.5s 1.1s ease-in-out infinite;
	}
}

@keyframes ptc-hero-rise {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes ptc-visual-arrive {
	from { opacity: 0; transform: translate3d(34px, 18px, 0) rotate(2deg) scale(.96); }
	to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); }
}

@keyframes ptc-visual-float {
	0%, 100% { transform: translateY(0) rotate(0); }
	50% { transform: translateY(-9px) rotate(.5deg); }
}

html[data-theme="dark"] .ptc-hero {
	background: var(--ptc-bg);
}

html[data-theme="dark"] .ptc-hero-eyebrow,
html[data-theme="dark"] .ptc-hero-button-secondary {
	border-color: var(--ptc-line);
	background: var(--ptc-surface);
	color: var(--ptc-ink);
}

html[data-theme="dark"] .ptc-hero-description {
	color: var(--ptc-muted);
}

html[data-theme="dark"] .ptc-hero-button-primary {
	color: var(--ptc-on-main);
}

html[data-theme="dark"] .ptc-hero-visual img {
	border-color: var(--ptc-line);
	background: var(--ptc-surface);
	filter: brightness(0.86) contrast(1.04);
}

html[lang^="bn"] .ptc-hero h1,
html[lang^="bn"] .ptc-hero-eyebrow,
html[lang^="bn"] .ptc-hero-button {
	font-family: "Noto Sans Bengali", "Nirmala UI", Vrinda, sans-serif;
	letter-spacing: 0;
}

html[lang^="bn"] .ptc-hero h1 {
	font-size: clamp(2.05rem, 4.5vw, 3rem);
	line-height: 1.1;
}
