/* ==========================================================================
   Prashan Patra SEO Landing — Stylesheet
   Design system: "Exam Paper" — light mode only, school/exam-hall vibe.
   Palette:
     --ppsl-paper:      #FBF8F2  (ivory paper background)
     --ppsl-paper-2:    #F3EEE2  (slightly deeper paper, cards)
     --ppsl-ink:        #1B2A4A  (deep ink navy — headings/text)
     --ppsl-ink-soft:   #4B5670  (muted ink — body copy)
     --ppsl-green:      #1F6E5C  (chalkboard green — primary accent)
     --ppsl-amber:      #D98E3B  (pencil amber — secondary accent)
     --ppsl-rule:       #C9D2DE  (ruled-paper line grey-blue)
     --ppsl-margin-red: #D9756B  (margin rule, exam-sheet red line)
   ========================================================================== */

.ppsl-root {
	--ppsl-paper: #FBF8F2;
	--ppsl-paper-2: #F3EEE2;
	--ppsl-paper-3: #ffffff;
	--ppsl-ink: #1B2A4A;
	--ppsl-ink-soft: #56607a;
	--ppsl-green: #1F6E5C;
	--ppsl-green-deep: #154f42;
	--ppsl-amber: #D98E3B;
	--ppsl-rule: #d7dee8;
	--ppsl-margin-red: #d9756b;
	--ppsl-shadow: 0 10px 30px -10px rgba(27, 42, 74, 0.18);
	--ppsl-radius: 18px;
	--ppsl-font-display: 'Fraunces', Georgia, serif;
	--ppsl-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--ppsl-font-mono: 'JetBrains Mono', 'Courier New', monospace;

	position: relative;
	background: var(--ppsl-paper);
	color: var(--ppsl-ink);
	font-family: var(--ppsl-font-body);
	overflow-x: hidden;
	isolation: isolate;
	line-height: 1.5;
}

.ppsl-root * {
	box-sizing: border-box;
}

.ppsl-root img {
	max-width: 100%;
	display: block;
}

.ppsl-container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 28px;
	position: relative;
	z-index: 2;
}

.ppsl-section {
	position: relative;
	padding: 96px 0;
}

/* ---------- Background graphics layer (persists across whole page) ---------- */

.ppsl-bg-layer {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}

.ppsl-bg-rule-lines {
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(
		to bottom,
		transparent 0,
		transparent 47px,
		rgba(31, 110, 92, 0.07) 48px
	);
	mask-image: linear-gradient(to bottom, black 0%, transparent 92%);
}

.ppsl-bg-margin-line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 64px;
	width: 1.5px;
	background: rgba(217, 117, 107, 0.22);
}

@media (max-width: 720px) {
	.ppsl-bg-margin-line { left: 24px; }
}

.ppsl-float {
	position: absolute;
	color: var(--ppsl-green);
	opacity: 0.1;
	width: 46px;
	height: 46px;
	animation: ppsl-drift 16s ease-in-out infinite;
}

.ppsl-float-1 { top: 8%;  left: 6%;   animation-duration: 18s; }
.ppsl-float-2 { top: 22%; left: 88%;  color: var(--ppsl-amber); animation-duration: 14s; animation-delay: -3s; }
.ppsl-float-3 { top: 48%; left: 4%;   animation-duration: 20s; animation-delay: -6s; }
.ppsl-float-4 { top: 64%; left: 90%;  color: var(--ppsl-amber); animation-duration: 17s; animation-delay: -2s; }
.ppsl-float-5 { top: 82%; left: 10%;  animation-duration: 19s; animation-delay: -8s; }
.ppsl-float-6 { top: 35%; left: 95%;  animation-duration: 15s; animation-delay: -5s; }

@keyframes ppsl-drift {
	0%, 100% { transform: translate(0, 0) rotate(0deg); }
	33%      { transform: translate(14px, -18px) rotate(6deg); }
	66%      { transform: translate(-10px, 12px) rotate(-4deg); }
}

@media (max-width: 860px) {
	.ppsl-float { width: 34px; height: 34px; }
}

/* ---------- Reveal-on-scroll ---------- */

.ppsl-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.7s cubic-bezier(.22,.61,.36,1), transform 0.7s cubic-bezier(.22,.61,.36,1);
}

.ppsl-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.ppsl-reveal { opacity: 1; transform: none; transition: none; }
	.ppsl-float { animation: none; }
}

/* ---------- Eyebrow / labels ---------- */

.ppsl-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: var(--ppsl-font-mono);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ppsl-green-deep);
	background: rgba(31, 110, 92, 0.09);
	border: 1px solid rgba(31, 110, 92, 0.18);
	padding: 6px 14px;
	border-radius: 999px;
	margin-bottom: 18px;
}

/* ---------- Buttons ---------- */

.ppsl-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ppsl-font-body);
	font-weight: 700;
	font-size: 15.5px;
	padding: 14px 24px;
	border-radius: 12px;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
	border: 1.5px solid transparent;
	white-space: nowrap;
}

.ppsl-btn-primary {
	background: var(--ppsl-green);
	color: #fff;
	box-shadow: 0 8px 20px -6px rgba(31, 110, 92, 0.55);
}

.ppsl-btn-primary:hover {
	transform: translateY(-2px);
	background: var(--ppsl-green-deep);
	box-shadow: 0 12px 26px -6px rgba(31, 110, 92, 0.6);
}

.ppsl-btn-ghost {
	background: transparent;
	color: var(--ppsl-ink);
	border-color: var(--ppsl-rule);
}

.ppsl-btn-ghost:hover {
	border-color: var(--ppsl-ink);
	transform: translateY(-2px);
}

.ppsl-btn-large {
	font-size: 17px;
	padding: 16px 30px;
}

/* ==========================================================================
   HERO
   ========================================================================== */

.ppsl-hero {
	padding-top: 64px;
	padding-bottom: 60px;
}

.ppsl-hero-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 56px;
	align-items: center;
}

@media (max-width: 980px) {
	.ppsl-hero-grid { grid-template-columns: 1fr; }
}

.ppsl-hero-title {
	font-family: var(--ppsl-font-display);
	font-weight: 600;
	font-size: clamp(2.3rem, 4.4vw, 3.4rem);
	line-height: 1.12;
	letter-spacing: -0.01em;
	margin: 0 0 22px;
	min-height: 2.4em;
}

.ppsl-typewrite::after {
	content: '|';
	margin-left: 3px;
	color: var(--ppsl-green);
	animation: ppsl-caret 0.9s steps(1) infinite;
}

@keyframes ppsl-caret {
	0%, 49% { opacity: 1; }
	50%, 100% { opacity: 0; }
}

.ppsl-hero-sub {
	font-size: 17px;
	color: var(--ppsl-ink-soft);
	max-width: 540px;
	margin: 0 0 32px;
}

.ppsl-hero-sub strong {
	color: var(--ppsl-ink);
}

.ppsl-hero-ctas {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 44px;
}

.ppsl-hero-stats {
	display: grid;
	grid-template-columns: repeat(4, auto);
	gap: 28px;
}

@media (max-width: 640px) {
	.ppsl-hero-stats { grid-template-columns: repeat(2, 1fr); }
}

.ppsl-stat {
	display: flex;
	flex-direction: column;
}

.ppsl-stat-value {
	display: flex;
	align-items: baseline;
	gap: 2px;
}

.ppsl-stat-num,
.ppsl-stat-num-text {
	font-family: var(--ppsl-font-display);
	font-weight: 700;
	font-size: 28px;
	color: var(--ppsl-green-deep);
	display: inline-block;
}

.ppsl-stat-suffix {
	font-family: var(--ppsl-font-display);
	font-weight: 700;
	font-size: 18px;
	color: var(--ppsl-green-deep);
}

.ppsl-stat-label {
	font-size: 12.5px;
	color: var(--ppsl-ink-soft);
	margin-top: 2px;
	font-weight: 500;
}

/* ---------- Hero visual: the answer-sheet signature element ---------- */

.ppsl-hero-visual {
	position: relative;
}

.ppsl-answer-sheet {
	position: relative;
	background: var(--ppsl-paper-3);
	border-radius: var(--ppsl-radius);
	box-shadow: var(--ppsl-shadow);
	border: 1px solid #ece5d4;
	padding: 26px 26px 22px 40px;
	transform: rotate(-1.2deg);
	animation: ppsl-sheet-float 7s ease-in-out infinite;
}

@keyframes ppsl-sheet-float {
	0%, 100% { transform: rotate(-1.2deg) translateY(0); }
	50%      { transform: rotate(-0.4deg) translateY(-8px); }
}

.ppsl-sheet-margin {
	position: absolute;
	top: 18px;
	bottom: 18px;
	left: 26px;
	width: 1.5px;
	background: var(--ppsl-margin-red);
	opacity: 0.5;
}

.ppsl-sheet-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	border-bottom: 1.5px dashed var(--ppsl-rule);
	padding-bottom: 14px;
	margin-bottom: 16px;
	flex-wrap: wrap;
	gap: 8px;
}

.ppsl-sheet-school {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ppsl-sheet-school-name {
	font-family: var(--ppsl-font-display);
	font-weight: 600;
	font-size: 16.5px;
	color: var(--ppsl-ink);
}

.ppsl-sheet-badge {
	font-family: var(--ppsl-font-mono);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.04em;
	background: rgba(31, 110, 92, 0.12);
	color: var(--ppsl-green-deep);
	padding: 3px 9px;
	border-radius: 999px;
}

.ppsl-sheet-meta {
	display: flex;
	gap: 14px;
	font-family: var(--ppsl-font-mono);
	font-size: 11.5px;
	color: var(--ppsl-ink-soft);
}

.ppsl-sheet-row {
	display: flex;
	gap: 10px;
	padding: 11px 0;
	border-bottom: 1px dashed #ece5d4;
	align-items: flex-start;
}

.ppsl-q-num {
	font-family: var(--ppsl-font-mono);
	font-weight: 600;
	color: var(--ppsl-amber);
	font-size: 13.5px;
	flex-shrink: 0;
	padding-top: 1px;
}

.ppsl-q-text {
	font-size: 14px;
	color: var(--ppsl-ink);
	display: inline-block;
	white-space: pre-wrap;
}

.ppsl-q-text::after {
	content: '';
}

.ppsl-sheet-q[data-typewrite-line] .ppsl-q-text {
	min-height: 1.4em;
}

.ppsl-mcq-options {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px 14px;
	font-size: 13px;
	color: var(--ppsl-ink-soft);
	width: 100%;
}

.ppsl-mcq-opt {
	display: flex;
	align-items: center;
	gap: 5px;
}

.ppsl-mcq-correct {
	color: var(--ppsl-green-deep);
	font-weight: 600;
}

.ppsl-mcq-correct svg {
	background: rgba(31, 110, 92, 0.14);
	border-radius: 50%;
	padding: 1px;
}

.ppsl-diagram-box {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--ppsl-ink-soft);
	font-size: 12.5px;
}

.ppsl-diagram-box svg {
	width: 64px;
	height: 40px;
	flex-shrink: 0;
	color: var(--ppsl-rule);
}

.ppsl-sheet-progress {
	margin-top: 16px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--ppsl-font-mono);
	font-size: 11.5px;
	color: var(--ppsl-ink-soft);
}

.ppsl-sheet-progress-bar {
	height: 6px;
	width: 90px;
	border-radius: 999px;
	background: #ece5d4;
	overflow: hidden;
	position: relative;
	flex-shrink: 0;
}

.ppsl-sheet-progress-bar::after {
	content: '';
	position: absolute;
	inset: 0;
	width: 40%;
	background: linear-gradient(90deg, var(--ppsl-green), var(--ppsl-amber));
	border-radius: 999px;
	animation: ppsl-progress 2.6s ease-in-out infinite;
}

@keyframes ppsl-progress {
	0%   { width: 10%; }
	50%  { width: 88%; }
	100% { width: 10%; }
}

.ppsl-sheet-stamp {
	position: absolute;
	bottom: -18px;
	right: -14px;
	background: var(--ppsl-paper-3);
	border: 1.5px solid var(--ppsl-green);
	color: var(--ppsl-green-deep);
	border-radius: 50%;
	width: 92px;
	height: 92px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	font-family: var(--ppsl-font-mono);
	font-size: 8.5px;
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
	transform: rotate(-10deg);
	box-shadow: 0 6px 16px -4px rgba(31,110,92,0.3);
	padding: 6px;
}

.ppsl-sheet-stamp span {
	max-width: 56px;
	white-space: normal;
}

.ppsl-floating-chip {
	position: absolute;
	background: var(--ppsl-paper-3);
	border: 1px solid #ece5d4;
	box-shadow: var(--ppsl-shadow);
	border-radius: 10px;
	padding: 8px 13px;
	font-size: 12px;
	font-weight: 600;
	color: var(--ppsl-ink);
	animation: ppsl-chip-float 6s ease-in-out infinite;
}

.ppsl-chip-1 { top: -6%;  right: -8%;  animation-delay: 0s; }
.ppsl-chip-2 { bottom: 6%; left: -10%; animation-delay: -2s; }
.ppsl-chip-3 { top: 38%;  left: -12%;  animation-delay: -4s; }

@keyframes ppsl-chip-float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-10px); }
}

@media (max-width: 980px) {
	.ppsl-floating-chip { display: none; }
}

.ppsl-scroll-cue {
	display: flex;
	justify-content: center;
	margin-top: 24px;
}

.ppsl-scroll-cue span {
	width: 22px;
	height: 36px;
	border: 1.5px solid var(--ppsl-rule);
	border-radius: 999px;
	position: relative;
	display: block;
}

.ppsl-scroll-cue span::after {
	content: '';
	position: absolute;
	top: 6px;
	left: 50%;
	width: 4px;
	height: 8px;
	background: var(--ppsl-green);
	border-radius: 999px;
	transform: translateX(-50%);
	animation: ppsl-scroll-dot 1.8s ease-in-out infinite;
}

@keyframes ppsl-scroll-dot {
	0%   { top: 6px; opacity: 1; }
	70%  { top: 18px; opacity: 0; }
	100% { top: 6px; opacity: 0; }
}

/* ==========================================================================
   MARQUEE
   ========================================================================== */

.ppsl-marquee-wrap {
	position: relative;
	z-index: 2;
	background: var(--ppsl-ink);
	overflow: hidden;
	padding: 16px 0;
}

.ppsl-marquee-track {
	display: flex;
	gap: 14px;
	white-space: nowrap;
	width: max-content;
	animation: ppsl-marquee 36s linear infinite;
	font-family: var(--ppsl-font-mono);
	font-size: 13px;
	color: #e9ecf3;
	letter-spacing: 0.02em;
}

.ppsl-marquee-track span:nth-child(odd):not(:first-child) {
	color: var(--ppsl-amber);
}

@keyframes ppsl-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.ppsl-marquee-track { animation: none; }
}

/* ==========================================================================
   SECTION HEAD (shared)
   ========================================================================== */

.ppsl-section-head {
	max-width: 680px;
	margin: 0 auto 56px;
	text-align: center;
}

.ppsl-section-head .ppsl-eyebrow {
	display: inline-flex;
}

.ppsl-section-title {
	font-family: var(--ppsl-font-display);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.4vw, 2.5rem);
	line-height: 1.18;
	margin: 0 0 14px;
	color: var(--ppsl-ink);
}

.ppsl-section-sub {
	color: var(--ppsl-ink-soft);
	font-size: 16px;
	margin: 0;
}

/* ==========================================================================
   FEATURES
   ========================================================================== */

.ppsl-features {
	background: var(--ppsl-paper-2);
}

.ppsl-feature-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

@media (max-width: 900px) {
	.ppsl-feature-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.ppsl-feature-grid { grid-template-columns: 1fr; }
}

.ppsl-feature-card {
	background: var(--ppsl-paper-3);
	border: 1px solid #ece5d4;
	border-radius: var(--ppsl-radius);
	padding: 28px 24px;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.ppsl-feature-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--ppsl-shadow);
	border-color: rgba(31, 110, 92, 0.3);
}

.ppsl-feature-icon {
	width: 52px;
	height: 52px;
	border-radius: 13px;
	background: rgba(31, 110, 92, 0.1);
	color: var(--ppsl-green-deep);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	transition: transform 0.3s ease;
}

.ppsl-feature-card:hover .ppsl-feature-icon {
	transform: scale(1.08) rotate(-4deg);
}

.ppsl-feature-card h3 {
	font-family: var(--ppsl-font-display);
	font-size: 18.5px;
	font-weight: 600;
	margin: 0 0 8px;
	color: var(--ppsl-ink);
}

.ppsl-feature-card p {
	font-size: 14.5px;
	color: var(--ppsl-ink-soft);
	margin: 0;
	line-height: 1.55;
}

/* ==========================================================================
   WORKFLOW (numbered — genuine sequence)
   ========================================================================== */

.ppsl-workflow-rail {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

@media (max-width: 820px) {
	.ppsl-workflow-rail { grid-template-columns: 1fr; gap: 36px; }
}

.ppsl-workflow-line {
	position: absolute;
	top: 26px;
	left: 6%;
	right: 6%;
	height: 1.5px;
	background: repeating-linear-gradient(to right, var(--ppsl-rule) 0 8px, transparent 8px 14px);
	z-index: 0;
}

@media (max-width: 820px) {
	.ppsl-workflow-line { display: none; }
}

.ppsl-workflow-step {
	position: relative;
	z-index: 1;
	background: var(--ppsl-paper-3);
	border: 1px solid #ece5d4;
	border-radius: var(--ppsl-radius);
	padding: 30px 24px 24px;
}

.ppsl-workflow-marker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ppsl-ink);
	color: #fff;
	font-family: var(--ppsl-font-mono);
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 16px;
}

.ppsl-workflow-step:nth-child(2) .ppsl-workflow-marker { background: var(--ppsl-green); }
.ppsl-workflow-step:nth-child(3) .ppsl-workflow-marker { background: var(--ppsl-amber); }

.ppsl-workflow-step h3 {
	font-family: var(--ppsl-font-display);
	font-size: 19px;
	font-weight: 600;
	margin: 0 0 8px;
}

.ppsl-workflow-step p {
	font-size: 14.5px;
	color: var(--ppsl-ink-soft);
	margin: 0;
	line-height: 1.55;
}

/* ==========================================================================
   WHY SCHOOLS
   ========================================================================== */

.ppsl-why {
	background: var(--ppsl-paper-2);
}

.ppsl-why-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}

@media (max-width: 900px) {
	.ppsl-why-grid { grid-template-columns: 1fr; }
}

.ppsl-why-copy .ppsl-eyebrow {
	margin-bottom: 16px;
}

.ppsl-why-copy .ppsl-section-title {
	margin-bottom: 28px;
}

.ppsl-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 14px;
}

.ppsl-checklist li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 15.5px;
	font-weight: 500;
	color: var(--ppsl-ink);
}

.ppsl-checklist li svg {
	flex-shrink: 0;
	color: var(--ppsl-green-deep);
	background: rgba(31, 110, 92, 0.12);
	border-radius: 50%;
	padding: 4px;
	width: 26px;
	height: 26px;
}

.ppsl-gradebook {
	position: relative;
	background: var(--ppsl-paper-3);
	border: 1px solid #ece5d4;
	border-radius: var(--ppsl-radius);
	box-shadow: var(--ppsl-shadow);
	padding: 22px;
	transform: rotate(0.8deg);
}

.ppsl-gradebook-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	align-items: center;
	padding: 13px 4px;
	border-bottom: 1px dashed #ece5d4;
	font-size: 14px;
	color: var(--ppsl-ink);
}

.ppsl-gradebook-row:last-of-type {
	border-bottom: none;
}

.ppsl-gradebook-head {
	font-family: var(--ppsl-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ppsl-ink-soft);
	font-weight: 600;
}

.ppsl-tag {
	font-family: var(--ppsl-font-mono);
	font-size: 11px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 999px;
	white-space: nowrap;
}

.ppsl-tag-done { background: rgba(31, 110, 92, 0.13); color: var(--ppsl-green-deep); }
.ppsl-tag-progress { background: rgba(217, 142, 59, 0.16); color: #8a5b1f; }
.ppsl-tag-queued { background: #eef0f4; color: var(--ppsl-ink-soft); }

.ppsl-gradebook-glow {
	position: absolute;
	bottom: -30px;
	right: -30px;
	width: 140px;
	height: 140px;
	background: radial-gradient(circle, rgba(217, 142, 59, 0.25), transparent 70%);
	border-radius: 50%;
	z-index: -1;
	animation: ppsl-pulse 5s ease-in-out infinite;
}

@keyframes ppsl-pulse {
	0%, 100% { opacity: 0.6; transform: scale(1); }
	50%      { opacity: 1; transform: scale(1.15); }
}

/* ==========================================================================
   FINAL CTA
   ========================================================================== */

.ppsl-final-cta {
	padding-bottom: 110px;
}

.ppsl-final-card {
	position: relative;
	background: linear-gradient(155deg, var(--ppsl-ink) 0%, #233a63 100%);
	border-radius: 28px;
	padding: 64px 48px;
	text-align: center;
	overflow: hidden;
	box-shadow: 0 24px 60px -20px rgba(27, 42, 74, 0.45);
}

.ppsl-final-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(to bottom, transparent 0 47px, rgba(255,255,255,0.05) 48px);
	mask-image: radial-gradient(circle at 50% 0%, black, transparent 70%);
}

.ppsl-final-card .ppsl-eyebrow {
	background: rgba(255,255,255,0.1);
	border-color: rgba(255,255,255,0.18);
	color: #cfe9e1;
	position: relative;
	z-index: 1;
}

.ppsl-final-title {
	position: relative;
	z-index: 1;
	font-family: var(--ppsl-font-display);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.6vw, 2.6rem);
	color: #fff;
	max-width: 720px;
	margin: 18px auto 16px;
	line-height: 1.22;
}

.ppsl-final-sub {
	position: relative;
	z-index: 1;
	color: #c6cce0;
	font-size: 16px;
	max-width: 540px;
	margin: 0 auto 32px;
}

.ppsl-final-card .ppsl-btn-large {
	position: relative;
	z-index: 1;
}

.ppsl-final-stamp {
	position: relative;
	z-index: 1;
	margin-top: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 13.5px;
	color: #aab3cc;
}

.ppsl-final-stamp a {
	color: #fff;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(255,255,255,0.4);
}

.ppsl-final-stamp a:hover {
	text-decoration-color: #fff;
}

/* ==========================================================================
   RESPONSIVE — small screens polish
   ========================================================================== */

@media (max-width: 600px) {
	.ppsl-section { padding: 64px 0; }
	.ppsl-container { padding: 0 18px; }
	.ppsl-final-card { padding: 44px 24px; }
	.ppsl-answer-sheet { padding: 22px 18px 20px 30px; }

	.ppsl-hero-title {
		min-height: 2.6em;
		margin-bottom: 12px;
	}
}