.ptc-section-shell {
	width: min(100% - 36px, 1180px);
	margin: 0 auto;
}

.ptc-section-intro {
	max-width: 720px;
	margin-bottom: 34px;
}

.ptc-section-intro h2 {
	margin: 0;
	font-family: "Trebuchet MS", Arial, sans-serif;
	font-size: clamp(1.85rem, 4vw, 2.75rem);
	letter-spacing: -0.045em;
	line-height: 1.08;
}

.ptc-section-intro h2::after {
	display: block;
	width: 56px;
	height: 5px;
	margin-top: 18px;
	border-radius: 999px;
	background: linear-gradient(90deg, #0cc0df 0 62%, #ff66c4 62%);
	content: "";
}

.ptc-section-intro p {
	max-width: 650px;
	margin: 16px 0 0;
	color: #58747a;
	font-size: 1.08rem;
}

.ptc-notices {
	padding: 22px 0;
	background: #ffffff;
}

.ptc-notice-shell {
	display: grid;
	padding: 22px;
	border: 1px solid #cdecf2;
	border-radius: 14px;
	background: #f4fcfe;
	gap: 18px;
}

.ptc-notice-heading {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ptc-notice-mark {
	display: grid;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #0cc0df;
	font-family: "Trebuchet MS", Arial, sans-serif;
	font-size: 1.2rem;
	font-weight: 700;
	place-items: center;
}

.ptc-notice-heading h2 {
	margin: 0;
	font-family: "Trebuchet MS", Arial, sans-serif;
	font-size: 1.35rem;
	line-height: 1.15;
}

.ptc-notice-list {
	display: grid;
	gap: 8px;
}

.ptc-notice-list p {
	position: relative;
	margin: 0;
	padding-left: 18px;
	color: #15333a;
}

.ptc-notice-list p::before {
	position: absolute;
	top: 0.68em;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #ff66c4;
	content: "";
}

.ptc-resources,
.ptc-testimonials,
.ptc-quizzes {
	padding: clamp(54px, 7vw, 88px) 0;
}

.ptc-resources {
	background: #f4fcfe;
}

.ptc-resource-grid {
	display: grid;
	gap: 14px;
}

.ptc-resource-link {
	display: grid;
	min-height: 112px;
	padding: 22px;
	border: 1px solid #cdecf2;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 10px 30px rgba(21, 51, 58, 0.055);
	grid-template-columns: 44px minmax(0, 1fr) 36px;
	align-items: center;
	gap: 14px;
	text-decoration: none;
}

.ptc-resource-number {
	color: #ff66c4;
	font-family: "Trebuchet MS", Arial, sans-serif;
	font-size: 0.83rem;
	font-weight: 700;
}

.ptc-resource-link strong,
.ptc-resource-link small {
	display: block;
}

.ptc-resource-link strong {
	font-family: "Trebuchet MS", Arial, sans-serif;
	font-size: clamp(1.15rem, 4vw, 1.6rem);
	line-height: 1.2;
}

.ptc-resource-link small {
	margin-top: 5px;
	color: #58747a;
	font-size: 0.92rem;
}

.ptc-resource-arrow {
	display: grid;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #ffffff;
	color: #15333a;
	font-size: 1.2rem;
	place-items: center;
}

.ptc-resource-link:hover,
.ptc-resource-link:focus-visible {
	border-color: #0cc0df;
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(21, 51, 58, 0.12);
	transform: translateY(-5px);
}

.ptc-resource-link:hover .ptc-resource-arrow,
.ptc-resource-link:focus-visible .ptc-resource-arrow {
	transform: translateX(3px);
}

.ptc-resource-link:focus-visible,
.ptc-quiz-links a:focus-visible,
.ptc-footer-main a:focus-visible,
.ptc-footer-bottom a:focus-visible {
	outline: 2px solid #0cc0df;
	outline-offset: 4px;
}

.ptc-testimonials {
	background: #ffffff;
}

.ptc-testimonial-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.ptc-scroll-hint {
	display: none;
}

.ptc-testimonial {
	margin: 0;
	padding: 22px;
	border: 1px solid #cdecf2;
	border-radius: 14px;
	background: #f4fcfe;
	box-shadow: 0 8px 26px rgba(21, 51, 58, 0.055);
}

.ptc-testimonial:nth-child(3n + 1) {
	background: #ffffff;
}

.ptc-stars {
	color: #ff66c4;
	font-size: 1rem;
	letter-spacing: 0.08em;
}

.ptc-testimonial blockquote {
	margin: 14px 0 18px;
	padding: 0;
	border: 0;
	color: #15333a;
	font-size: 1rem;
	line-height: 1.6;
}

.ptc-testimonial figcaption {
	color: #58747a;
	font-size: 0.88rem;
	font-weight: 700;
}

.ptc-testimonial:hover {
	border-color: #0cc0df;
	box-shadow: 0 18px 42px rgba(21, 51, 58, 0.13);
	transform: translateY(-7px) rotate(-0.35deg);
}

.ptc-quizzes {
	background: #0cc0df;
	color: #15333a;
}

.ptc-quiz-shell {
	display: grid;
	gap: 32px;
}

.ptc-quizzes .ptc-section-intro {
	margin: 0;
}

.ptc-quizzes .ptc-section-intro p {
	color: #15333a;
}

.ptc-quiz-links {
	display: grid;
	gap: 10px;
}

.ptc-quiz-links a {
	position: relative;
	overflow: hidden;
	display: grid;
	min-height: 84px;
	padding: 14px 18px;
	border: 2px solid #15333a;
	border-radius: 10px;
	background: #ffffff;
	grid-template-columns: minmax(0, 1fr) auto 26px;
	align-items: center;
	gap: 12px;
	font-weight: 700;
	text-decoration: none;
}

.ptc-quiz-links a > span {
	min-width: 0;
	line-height: 1.35;
}

.ptc-quiz-links a::after {
	content: "→";
	font-size: 1.25rem;
	justify-self: end;
	transform: translateX(-5px);
	transition: transform 200ms ease;
}

.ptc-quiz-links a:hover,
.ptc-quiz-links a:focus-visible {
	box-shadow: 8px 8px 0 rgba(255, 102, 196, 0.55);
	transform: translate(-3px, -3px);
}

.ptc-quiz-links a:hover::after,
.ptc-quiz-links a:focus-visible::after {
	transform: translateX(3px);
}

.ptc-quiz-links small {
	color: #58747a;
	font-size: 0.78rem;
	justify-self: end;
	white-space: nowrap;
}

.ptc-site-footer {
	border: 0;
	background: #15333a;
	color: #ffffff;
}

.ptc-footer-main {
	padding: 64px 0 48px;
}

.ptc-footer-grid,
.ptc-footer-bottom > div {
	width: min(100% - 36px, 1180px);
	margin: 0 auto;
}

.ptc-footer-grid {
	display: grid;
	gap: 36px;
}

.ptc-footer-wordmark {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: "Trebuchet MS", Arial, sans-serif;
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: -0.04em;
	text-decoration: none;
}

.ptc-footer-wordmark > span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #ff66c4;
}

.ptc-footer-brand p {
	max-width: 330px;
	margin: 18px 0;
	color: #cdecf2;
}

.ptc-footer-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ptc-footer-badges span {
	padding: 7px 10px;
	border: 1px solid #0cc0df;
	border-radius: 8px;
	color: #cdecf2;
	font-size: 0.78rem;
}

.ptc-footer-grid h2 {
	margin: 0 0 14px;
	color: #0cc0df;
	font-family: "Trebuchet MS", Arial, sans-serif;
	font-size: 1rem;
	letter-spacing: 0.04em;
}

.ptc-footer-grid ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ptc-footer-grid li + li {
	margin-top: 9px;
}

.ptc-footer-grid a {
	color: #ffffff;
	text-decoration-color: #58747a;
	text-underline-offset: 4px;
}

.ptc-footer-contact {
	color: #cdecf2;
}

.ptc-footer-bottom {
	border-top: 1px solid #58747a;
}

.ptc-footer-bottom > div {
	display: flex;
	padding: 20px 0;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.ptc-footer-bottom p {
	margin: 0;
	color: #cdecf2;
	font-size: 0.88rem;
}

.ptc-footer-bottom .ptc-developer-credit {
	margin-top: 5px;
	font-size: 0.8rem;
}

.ptc-translation-credit {
	margin-top: 5px !important;
	font-size: 0.72rem !important;
}

.ptc-translation-credit a {
	color: #ffffff;
	text-underline-offset: 3px;
}

.ptc-google-translate-source {
	position: fixed;
	top: -1000px;
	left: -1000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.goog-te-banner-frame,
.skiptranslate iframe {
	display: none !important;
}

body { top: 0 !important; }

.ptc-developer-credit a {
	color: #ffffff;
	font-weight: 700;
	text-decoration-color: #ff66c4;
	text-underline-offset: 4px;
}

.ptc-developer-credit a:hover,
.ptc-developer-credit a:focus-visible {
	color: #0cc0df;
}

.ptc-footer-social {
	display: flex;
	gap: 8px;
}

.ptc-footer-social a {
	display: grid;
	width: 38px;
	height: 38px;
	border: 1px solid #0cc0df;
	border-radius: 50%;
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
	place-items: center;
}

html.ptc-motion-ready .ptc-reveal {
	opacity: 0;
	transform: translateY(34px);
}

html.ptc-motion-ready .ptc-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (min-width: 700px) {
	.ptc-notice-shell {
		grid-template-columns: minmax(190px, 0.7fr) minmax(0, 1.3fr);
		align-items: start;
	}

	.ptc-testimonial-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ptc-resource-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ptc-testimonial:nth-child(4),
	.ptc-testimonial:nth-child(9) {
		grid-column: span 2;
	}

	.ptc-quiz-shell {
		grid-template-columns: minmax(0, 0.8fr) minmax(360px, 1.2fr);
		align-items: start;
	}

	.ptc-footer-grid {
		grid-template-columns: 1.3fr 0.8fr 1fr 1fr;
	}
}

@media (max-width: 699px) {
	.ptc-section-shell,
	.ptc-footer-grid,
	.ptc-footer-bottom > div {
		width: min(100% - 28px, 1180px);
	}

	.ptc-section-intro {
		margin-bottom: 24px;
	}

	.ptc-section-intro h2 {
		font-size: clamp(1.65rem, 8vw, 2.25rem);
	}

	.ptc-section-intro h2::after {
		width: 44px;
		height: 4px;
		margin-top: 12px;
	}

	.ptc-section-intro p {
		margin-top: 11px;
		font-size: 0.98rem;
	}

	.ptc-notices {
		padding-block: 14px;
	}

	.ptc-notice-shell {
		padding: 16px;
		gap: 12px;
	}

	.ptc-notice-mark {
		width: 34px;
		height: 34px;
	}

	.ptc-resources,
	.ptc-testimonials,
	.ptc-quizzes {
		padding-block: 38px;
	}

	.ptc-resource-link {
		height: auto;
		min-height: 104px;
		padding: 16px;
		grid-template-columns: 30px minmax(0, 1fr) 32px;
		gap: 10px;
	}

	.ptc-resource-arrow {
		width: 32px;
		height: 32px;
	}

	.ptc-quiz-links a {
		min-height: 68px;
		padding: 11px 14px;
		grid-template-columns: minmax(0, 1fr) auto 22px;
		gap: 8px;
	}

	.ptc-scroll-hint {
		display: block;
		margin: -18px 0 14px;
		color: #58747a;
		font-size: 0.86rem;
	}

	.ptc-testimonial-grid {
		display: grid;
		margin-inline: -18px;
		padding: 2px 18px 18px;
		grid-auto-columns: minmax(82%, 1fr);
		grid-auto-flow: column;
		grid-template-columns: none;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scroll-snap-type: inline mandatory;
		scrollbar-width: thin;
	}

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

	.ptc-testimonial {
		scroll-snap-align: start;
	}

	.ptc-footer-bottom > div {
		align-items: flex-start;
		flex-direction: column;
		padding-block: 14px;
		gap: 10px;
	}

	.ptc-footer-main {
		padding: 32px 0 24px;
	}

	.ptc-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas:
			"brand brand"
			"quick legal"
			"contact contact";
		gap: 24px 18px;
	}

	.ptc-footer-grid > :nth-child(1) { grid-area: brand; }
	.ptc-footer-grid > :nth-child(2) { grid-area: quick; }
	.ptc-footer-grid > :nth-child(3) { grid-area: contact; }
	.ptc-footer-grid > :nth-child(4) { grid-area: legal; }

	.ptc-footer-brand p {
		max-width: none;
		margin: 10px 0 0;
		font-size: 0.92rem;
		line-height: 1.5;
	}

	.ptc-footer-grid h2 {
		margin-bottom: 9px;
	}

	.ptc-footer-grid li + li {
		margin-top: 6px;
	}

	.ptc-footer-social a {
		width: 34px;
		height: 34px;
	}

	.ptc-contact-page {
		margin-top: 18px;
		gap: 16px;
	}

	.ptc-contact-hero,
	.ptc-contact-details,
	.ptc-contact-location {
		padding: 19px;
		border-radius: 16px;
		gap: 22px;
	}

	.ptc-contact-service-grid {
		margin-top: 16px;
	}

	.ptc-contact-service-grid > div {
		min-height: 52px;
		padding: 10px 12px;
	}

	.ptc-contact-profile ul {
		margin-top: 14px;
	}
}

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

	.ptc-resource-arrow,
	.ptc-testimonial {
		transition: transform 240ms cubic-bezier(.2,.8,.2,1), border-color 220ms ease, box-shadow 240ms ease;
	}

	.ptc-quiz-links a {
		transition: transform 220ms cubic-bezier(.2,.8,.2,1), box-shadow 220ms ease;
	}

	html.ptc-motion-ready .ptc-reveal {
		transition: opacity 680ms ease, transform 680ms cubic-bezier(.2,.8,.2,1);
	}

	html.ptc-motion-ready .ptc-reveal .ptc-resource-link,
	html.ptc-motion-ready .ptc-reveal .ptc-testimonial,
	html.ptc-motion-ready .ptc-reveal .ptc-quiz-links a {
		opacity: 0;
		transform: translateY(22px) scale(.985);
	}

	html.ptc-motion-ready .ptc-reveal.is-visible .ptc-resource-link,
	html.ptc-motion-ready .ptc-reveal.is-visible .ptc-testimonial,
	html.ptc-motion-ready .ptc-reveal.is-visible .ptc-quiz-links a {
		opacity: 1;
		transform: none;
		transition: opacity 520ms ease, transform 600ms cubic-bezier(.2,.8,.2,1), border-color 220ms ease, box-shadow 240ms ease;
	}

	html.ptc-motion-ready .ptc-reveal.is-visible :is(.ptc-resource-link, .ptc-testimonial, .ptc-quiz-links a):nth-child(2) { transition-delay: 80ms; }
	html.ptc-motion-ready .ptc-reveal.is-visible :is(.ptc-resource-link, .ptc-testimonial, .ptc-quiz-links a):nth-child(3) { transition-delay: 150ms; }
	html.ptc-motion-ready .ptc-reveal.is-visible :is(.ptc-resource-link, .ptc-testimonial, .ptc-quiz-links a):nth-child(4) { transition-delay: 220ms; }
}

@media (prefers-reduced-motion: reduce) {
	html.ptc-motion-ready .ptc-reveal {
		opacity: 1;
		transform: none;
	}
}

html[data-theme="dark"] .ptc-notices,
html[data-theme="dark"] .ptc-testimonials {
	background: var(--ptc-surface);
}

html[data-theme="dark"] .ptc-notice-shell,
html[data-theme="dark"] .ptc-resources,
html[data-theme="dark"] .ptc-testimonial {
	border-color: var(--ptc-line);
	background: var(--ptc-bg);
}

html[data-theme="dark"] .ptc-notice-list p,
html[data-theme="dark"] .ptc-testimonial blockquote,
html[data-theme="dark"] .ptc-resource-link,
html[data-theme="dark"] .ptc-resource-arrow {
	color: var(--ptc-ink);
}

html[data-theme="dark"] .ptc-section-intro p,
html[data-theme="dark"] .ptc-resource-link small,
html[data-theme="dark"] .ptc-testimonial figcaption,
html[data-theme="dark"] .ptc-quiz-links small,
html[data-theme="dark"] .ptc-scroll-hint {
	color: var(--ptc-muted);
}

html[data-theme="dark"] .ptc-resource-grid,
html[data-theme="dark"] .ptc-resource-link,
html[data-theme="dark"] .ptc-testimonial {
	border-color: var(--ptc-line);
}

html[data-theme="dark"] .ptc-resource-link:hover,
html[data-theme="dark"] .ptc-resource-link:focus-visible,
html[data-theme="dark"] .ptc-resource-arrow,
html[data-theme="dark"] .ptc-quiz-links a {
	background: var(--ptc-surface);
}

html[data-theme="dark"] .ptc-quiz-links a {
	border-color: var(--ptc-on-main);
	color: var(--ptc-on-main);
}

html[lang^="bn"] .ptc-section-intro h2,
html[lang^="bn"] .ptc-notice-heading h2,
html[lang^="bn"] .ptc-notice-mark,
html[lang^="bn"] .ptc-resource-link strong,
html[lang^="bn"] .ptc-footer-wordmark,
html[lang^="bn"] .ptc-footer-grid h2 {
	font-family: "Noto Sans Bengali", "Nirmala UI", Vrinda, sans-serif;
	letter-spacing: 0;
}

.ptc-contact-page {
	display: grid;
	gap: 22px;
	margin-top: 28px;
}

.ptc-contact-hero,
.ptc-contact-details,
.ptc-contact-location {
	display: grid;
	padding: clamp(24px, 5vw, 48px);
	border: 1px solid var(--ptc-line);
	border-radius: 22px;
	background: var(--ptc-surface);
	box-shadow: var(--ptc-shadow);
	gap: clamp(28px, 5vw, 56px);
}

.ptc-contact-hero {
	background: linear-gradient(135deg, rgba(12, 192, 223, 0.12), rgba(255, 102, 196, 0.08)), var(--ptc-surface);
}

.ptc-contact-kicker {
	display: inline-block;
	margin-bottom: 10px;
	color: #0b8499;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.ptc-contact-page h2 {
	margin: 0;
	font-family: "Trebuchet MS", Arial, sans-serif;
	font-size: clamp(1.5rem, 3.5vw, 2.35rem);
	line-height: 1.12;
	letter-spacing: -0.035em;
}

.ptc-contact-page p {
	margin: 15px 0 0;
	color: var(--ptc-muted);
}

.ptc-contact-actions {
	display: grid;
	align-content: center;
	gap: 10px;
}

.ptc-contact-action {
	display: grid;
	min-width: 0;
	padding: 15px 17px;
	border: 1px solid var(--ptc-line);
	border-radius: 13px;
	background: var(--ptc-surface);
	text-decoration: none;
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.ptc-contact-action-primary {
	border-color: var(--ptc-main);
	background: var(--ptc-main);
	color: var(--ptc-on-main);
}

.ptc-contact-action small {
	color: var(--ptc-muted);
	font-size: 0.75rem;
}

.ptc-contact-action-primary small { color: var(--ptc-on-main); }
.ptc-contact-action strong { overflow-wrap: anywhere; }
.ptc-contact-action:hover,
.ptc-contact-action:focus-visible { border-color: var(--ptc-main); box-shadow: var(--ptc-shadow); transform: translateY(-3px); }

.ptc-contact-service-grid {
	display: grid;
	margin-top: 24px;
	gap: 10px;
}

.ptc-contact-service-grid > div {
	display: grid;
	min-height: 62px;
	padding: 13px 15px;
	border: 1px solid var(--ptc-line);
	border-radius: 12px;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
}

.ptc-contact-service-grid span { color: var(--ptc-secondary); font-size: 0.78rem; font-weight: 800; }
.ptc-contact-profile { padding: 4px 0; }
.ptc-contact-profile ul { margin: 22px 0 0; padding: 0; list-style: none; }
.ptc-contact-profile li { position: relative; padding: 10px 0 10px 24px; border-bottom: 1px solid var(--ptc-line); }
.ptc-contact-profile li::before { position: absolute; top: 1.05rem; left: 2px; width: 8px; height: 8px; border-radius: 50%; background: var(--ptc-main); content: ""; }
.ptc-contact-disclaimer { padding: 18px; border-left: 4px solid var(--ptc-secondary); border-radius: 0 12px 12px 0; background: var(--ptc-bg); font-size: 0.9rem; }

@media (min-width: 760px) {
	.ptc-contact-hero { grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); }
	.ptc-contact-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ptc-contact-location { grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); align-items: center; }
}

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