:root {
    --pm-primary: #2563eb;
    --pm-primary-dark: #1e40af;
    --pm-primary-soft: #eff6ff;
    --pm-success: #16a34a;
    --pm-warning: #f59e0b;
    --pm-danger: #dc2626;
    --pm-info: #06b6d4;
    --pm-dark: #0f172a;
    --pm-slate: #475569;
    --pm-muted: #64748b;
    --pm-border: #e2e8f0;
    --pm-bg: #f8fafc;
    --pm-card: #ffffff;
    --pm-shadow: 0 16px 44px rgba(15, 23, 42, .08);
    --pm-shadow-sm: 0 8px 22px rgba(15, 23, 42, .06);
    --pm-radius: 18px;
    --pm-radius-sm: 12px;
}

* { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--pm-dark);
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, .10), transparent 34rem),
        radial-gradient(circle at top right, rgba(22, 163, 74, .08), transparent 30rem),
        var(--pm-bg);
    min-height: 100vh;
    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
}

.pm-container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.pm-topbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 14px 0;
    background: rgba(248, 250, 252, .82);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(226, 232, 240, .78);
}

.pm-navbar {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    min-height: 70px;
    padding: 12px 16px;
    border: 1px solid rgba(226, 232, 240, .85);
    background: rgba(255, 255, 255, .93);
    box-shadow: var(--pm-shadow-sm);
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.pm-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: max-content;
}

.pm-brand-icon {
    width: 44px;
    height: 44px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--pm-primary), #0ea5e9);
    color: #fff;
    box-shadow: 0 14px 28px rgba(79, 70, 229, .26);
}

.pm-brand strong {
    display: block;
    font-family: "Poppins", sans-serif;
    font-size: 1.05rem;
    line-height: 1.1;
}

.pm-brand small {
    display: block;
    color: var(--pm-muted);
    font-size: .76rem;
    margin-top: 2px;
}

.pm-nav-menu {
    display: flex;
    align-items: center;
    gap: 6px;
}

.pm-nav-link {
    position: relative;
    padding: 10px 12px;
    border-radius: 14px;
    color: var(--pm-slate);
    font-weight: 700;
    font-size: .92rem;
    transition: .2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.pm-nav-link::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 6px;
    height: 2px;
    border-radius: 999px;
    background: var(--pm-primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
}

.pm-nav-link:hover::after,
.pm-nav-link.active::after {
    transform: scaleX(1);
}

.pm-nav-link:hover,
.pm-nav-link.active {
    background: var(--pm-primary-soft);
    color: var(--pm-primary);
}

.pm-nav-toggle {
    display: none;
    border: 0;
    background: var(--pm-primary-soft);
    color: var(--pm-primary);
    width: 44px;
    height: 44px;
    border-radius: 14px;
}

.pm-nav-open {
    overflow: hidden;
}

.pm-install-prompt {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    z-index: 1200;
    display: grid;
    grid-template-columns: 46px 1fr auto 40px;
    align-items: center;
    gap: 12px;
    max-width: 560px;
    margin: 0 auto;
    padding: 12px;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 18px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 22px 60px rgba(15, 23, 42, .18);
    transform: translateY(130%);
    opacity: 0;
    transition: transform .24s ease, opacity .24s ease;
}

.pm-install-prompt.is-visible {
    transform: translateY(0);
    opacity: 1;
}

.pm-install-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #ffffff;
    background: linear-gradient(135deg, var(--pm-primary), #2563eb);
    box-shadow: 0 14px 28px rgba(79, 70, 229, .22);
}

.pm-install-copy strong,
.pm-install-copy span {
    display: block;
}

.pm-install-copy strong {
    color: var(--pm-dark);
    font-weight: 900;
    line-height: 1.2;
}

.pm-install-copy span {
    color: var(--pm-muted);
    font-size: .86rem;
    line-height: 1.45;
}

.pm-install-action,
.pm-install-close {
    min-height: 40px;
    border: 0;
    font-weight: 850;
}

.pm-install-action {
    padding: 0 15px;
    border-radius: 12px;
    color: #ffffff;
    background: var(--pm-primary);
}

.pm-install-close {
    width: 40px;
    border-radius: 12px;
    color: var(--pm-slate);
    background: #f1f5f9;
}

.pm-mobile-bottom-nav {
    display: none;
}

.pm-btn {
    border: 0;
    outline: 0;
    border-radius: 16px;
    padding: 12px 18px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: .2s ease;
    cursor: pointer;
    text-decoration: none;
}

.pm-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--pm-primary), #2563eb);
    box-shadow: 0 14px 30px rgba(79, 70, 229, .28);
}

.pm-btn-primary:hover {
    transform: translateY(-2px);
    color: #fff;
    box-shadow: 0 18px 34px rgba(79, 70, 229, .34);
}

.pm-cta-pulse {
    animation: pmCtaGlow 2.8s ease-in-out infinite;
}

.pm-btn-light {
    color: var(--pm-primary);
    background: #fff;
    border: 1px solid var(--pm-border);
    box-shadow: var(--pm-shadow-sm);
}

.pm-btn-light:hover {
    transform: translateY(-2px);
    color: var(--pm-primary);
}

.pm-btn-success {
    color: #fff;
    background: linear-gradient(135deg, #10b981, #059669);
}

.pm-hero {
    padding: 80px 0 58px;
}

.pm-hero-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 40px;
    align-items: center;
}

.pm-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 13px;
    border-radius: 999px;
    background: var(--pm-primary-soft);
    color: var(--pm-primary);
    font-weight: 800;
    font-size: .86rem;
    margin-bottom: 18px;
}

.pm-title {
    font-family: "Poppins", sans-serif;
    font-size: clamp(2.35rem, 5vw, 4.8rem);
    letter-spacing: -0.055em;
    line-height: .98;
    font-weight: 800;
    margin: 0 0 22px;
}

.pm-title .gradient {
    background: linear-gradient(135deg, var(--pm-primary), #0ea5e9, #10b981);
    -webkit-background-clip: text;
    color: transparent;
}

.pm-typewriter-title {
    min-height: 3em;
}

.pm-typewriter-title .gradient {
    display: inline;
}

.pm-typewriter-cursor {
    display: inline-block;
    width: .08em;
    height: .9em;
    margin-left: .08em;
    border-radius: 999px;
    background: var(--pm-dark);
    transform: translateY(.08em);
    animation: pmCursorBlink .78s steps(1, end) infinite;
}

.pm-typewriter-title.is-complete .pm-typewriter-cursor {
    display: none;
}

.pm-lead {
    font-size: 1.12rem;
    line-height: 1.9;
    color: var(--pm-slate);
    max-width: 720px;
    margin-bottom: 26px;
}

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

.pm-stat-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 28px;
}

.pm-stat-card,
.pm-card {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: var(--pm-radius);
    box-shadow: var(--pm-shadow-sm);
}

.pm-stat-card {
    padding: 20px;
}

.pm-stat-card strong {
    font-size: 1.4rem;
    display: block;
    font-weight: 900;
}

.pm-stat-card span {
    color: var(--pm-muted);
    font-weight: 600;
}

.pm-hero-panel {
    padding: 24px;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.82));
    border: 1px solid rgba(226, 232, 240, .92);
    box-shadow: var(--pm-shadow);
}

.pm-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.pm-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #dcfce7;
    color: #047857;
    padding: 8px 11px;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 900;
}

.pm-mini-dashboard {
    display: grid;
    gap: 14px;
}

.pm-mini-card {
    display: flex;
    gap: 14px;
    padding: 18px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid var(--pm-border);
    align-items: flex-start;
}

.pm-mini-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--pm-primary-soft);
    color: var(--pm-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
}

.pm-mini-card h4 {
    margin: 0 0 4px;
    font-size: 1rem;
    font-weight: 900;
}

.pm-mini-card p {
    margin: 0;
    color: var(--pm-muted);
    line-height: 1.6;
}

.pm-home-hero {
    position: relative;
    overflow: hidden;
}

.pm-shape-field {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.pm-floating-paper,
.pm-floating-diamond {
    position: absolute;
    display: block;
    opacity: .42;
}

.pm-floating-paper {
    width: 54px;
    height: 72px;
    border-radius: 8px;
    background:
        linear-gradient(135deg, transparent 0 12px, rgba(255,255,255,.78) 12px),
        linear-gradient(#dbeafe 2px, transparent 2px),
        rgba(255,255,255,.72);
    background-size: 100% 100%, 72% 13px, 100% 100%;
    background-position: 0 0, 8px 18px, 0 0;
    background-repeat: no-repeat;
    border: 1px solid rgba(199, 210, 254, .86);
    box-shadow: 0 12px 34px rgba(79, 70, 229, .12);
    animation: pmPaperDrift 14s ease-in-out infinite;
}

.pm-floating-paper:nth-child(1) { left: 6%; top: 18%; }
.pm-floating-paper:nth-child(2) { right: 10%; top: 44%; animation-delay: -4s; transform: scale(.82) rotate(12deg); }
.pm-floating-paper:nth-child(3) { left: 46%; bottom: 8%; animation-delay: -8s; transform: scale(.7) rotate(-9deg); }

.pm-floating-diamond {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: rgba(79, 70, 229, .18);
    transform: rotate(45deg);
    animation: pmDiamondSpin 10s linear infinite;
}

.pm-floating-diamond:nth-child(4) { left: 28%; top: 20%; }
.pm-floating-diamond:nth-child(5) { right: 28%; bottom: 22%; animation-delay: -5s; background: rgba(16, 185, 129, .18); }

.pm-home-hero::before {
    content: "";
    position: absolute;
    inset: 28px auto auto 58%;
    width: 360px;
    height: 360px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(79, 70, 229, .16), transparent 68%);
    animation: pmFloatSoft 8s ease-in-out infinite;
    pointer-events: none;
}

.pm-home-hero .pm-container {
    position: relative;
    z-index: 1;
}

.pm-title .gradient {
    background-size: 180% 180%;
    animation: pmGradientFlow 5.5s ease-in-out infinite;
}

.pm-animate-in {
    animation: pmFadeUp .78s ease both;
}

.pm-delay-1 { animation-delay: .12s; }
.pm-delay-2 { animation-delay: .24s; }
.pm-delay-3 { animation-delay: .36s; }
.pm-delay-4 { animation-delay: .48s; }

.pm-animated-panel {
    animation: pmFadeUp .78s ease .24s both, pmPanelFloat 6.5s ease-in-out 1.1s infinite;
}

.pm-live-badge i {
    animation: pmPulseDot 1.45s ease-in-out infinite;
}

.pm-hover-lift {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.pm-hover-lift:hover {
    transform: translateY(-5px);
    border-color: rgba(79, 70, 229, .28);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .10);
}

.pm-reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .65s ease, transform .65s ease;
}

html.js .pm-reveal {
    opacity: 0;
    transform: translateY(20px);
}

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

.pm-home-flow {
    margin-top: 36px;
    padding: 16px;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 24px;
    background: rgba(255, 255, 255, .86);
    box-shadow: var(--pm-shadow-sm);
    display: grid;
    grid-template-columns: minmax(250px, .42fr) minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    overflow: hidden;
}

.pm-home-flow-copy {
    padding: 4px 10px;
}

.pm-home-flow-copy span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--pm-primary);
    font-weight: 900;
    margin-bottom: 6px;
}

.pm-home-flow-copy span i {
    color: var(--pm-warning);
}

.pm-home-flow-copy strong {
    display: block;
    font-family: "Poppins", sans-serif;
    font-size: 1.02rem;
    line-height: 1.45;
}

.pm-home-flow-track {
    display: flex;
    gap: 12px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.pm-home-flow-list {
    display: flex;
    gap: 12px;
    min-width: max-content;
    animation: pmFlowMarquee 22s linear infinite;
}

.pm-home-flow:hover .pm-home-flow-list {
    animation-play-state: paused;
}

.pm-home-flow-list span {
    min-height: 46px;
    padding: 0 16px;
    border-radius: 999px;
    background:
        linear-gradient(135deg, rgba(238, 242, 255, .95), rgba(255, 255, 255, .95));
    border: 1px solid rgba(226, 232, 240, .95);
    color: var(--pm-slate);
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-weight: 850;
    white-space: nowrap;
}

.pm-home-flow-list i {
    color: var(--pm-primary);
}

.pm-home-features {
    padding-top: 48px;
}

.pm-conversion-suite {
    padding-top: 38px;
}

.pm-trust-strip {
    padding: 28px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: center;
    background:
        linear-gradient(135deg, rgba(79, 70, 229, .08), rgba(16, 185, 129, .08)),
        rgba(255,255,255,.94);
}

.pm-trust-badge,
.pm-card-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--pm-primary);
    font-weight: 950;
    margin-bottom: 10px;
}

.pm-trust-badge i,
.pm-trust-score i {
    color: #f59e0b;
}

.pm-trust-strip h2 {
    font-family: "Poppins", sans-serif;
    font-weight: 950;
    font-size: clamp(1.6rem, 3vw, 2.6rem);
    letter-spacing: -.035em;
    line-height: 1.08;
    margin: 0 0 10px;
}

.pm-trust-strip p {
    color: var(--pm-muted);
    line-height: 1.72;
    margin: 0;
}

.pm-trust-score {
    min-width: 180px;
    padding: 18px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid var(--pm-border);
    text-align: center;
    animation: pmTrustPulse 2.8s ease-in-out infinite;
}

.pm-trust-stats {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.pm-trust-score strong {
    display: block;
    font-size: 2rem;
    font-weight: 950;
}

.pm-trust-score span {
    display: block;
    color: #f59e0b;
    margin: 4px 0;
}

.pm-trust-score small {
    color: var(--pm-muted);
    font-weight: 800;
}

.pm-benefit-line {
    margin: 18px auto;
    width: min(760px, 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    color: var(--pm-muted);
    font-weight: 850;
}

.pm-benefit-line strong {
    color: var(--pm-primary);
    transition: opacity .18s ease, transform .18s ease;
}

.pm-testimonial-marquee {
    overflow: hidden;
    margin: 20px 0 24px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.pm-testimonial-track {
    display: flex;
    gap: 14px;
    width: max-content;
    animation: pmTestimonialSlide 42s linear infinite;
}

.pm-testimonial-marquee:hover .pm-testimonial-track {
    animation-play-state: paused;
}

.pm-testimonial-card {
    width: 340px;
    min-height: 260px;
    padding: 24px;
    border-radius: 12px;
    background: #f6f6f6;
    border: 1px solid #ececec;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

.pm-testimonial-card p {
    color: #111827;
    line-height: 1.45;
    margin: 10px 0 12px;
    font-size: 1.02rem;
    font-weight: 650;
}

.pm-review-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.pm-review-avatar {
    width: 50px;
    height: 50px;
    border-radius: 999px;
    background: #0f766e;
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 1.15rem;
    font-weight: 950;
    flex: 0 0 50px;
}

.pm-testimonial-card:nth-child(3n) .pm-review-avatar { background: #2563eb; }
.pm-testimonial-card:nth-child(4n) .pm-review-avatar { background: #166534; }
.pm-testimonial-card:nth-child(5n) .pm-review-avatar { background: #0891b2; }

.pm-review-head strong {
    display: block;
    color: #0f172a;
    font-weight: 950;
    line-height: 1.15;
}

.pm-review-head small {
    color: #7c7c7c;
    margin-top: 4px;
    display: block;
}

.pm-review-stars {
    display: flex;
    align-items: center;
    gap: 3px;
    color: #fbbc04;
    margin: 4px 0 10px;
}

.pm-review-stars .fa-certificate {
    color: #4285f4;
    margin-left: 6px;
    font-size: .92rem;
}

.pm-testimonial-card button {
    border: 0;
    padding: 0;
    background: transparent;
    color: #8a8a8a;
    font-weight: 800;
    cursor: pointer;
}

.pm-testimonial-card > small {
    display: block;
    color: #6b7280;
    margin-top: 12px;
    font-weight: 750;
}

.pm-conversion-grid,
.pm-demo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.pm-conversion-card,
.pm-ai-demo,
.pm-question-growth,
.pm-print-ready,
.pm-affiliate-demo,
.pm-journey-timeline {
    padding: 22px;
}

.pm-before-after {
    display: grid;
    gap: 10px;
}

.pm-before-after div {
    padding: 13px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid var(--pm-border);
}

.pm-before-after div:last-child {
    background: #eef2ff;
    border-color: #c7d2fe;
}

.pm-before-after strong,
.pm-saving-grid strong {
    display: block;
    font-family: "Poppins", sans-serif;
    font-weight: 950;
}

.pm-before-after p {
    color: var(--pm-muted);
    line-height: 1.55;
    margin: 5px 0 0;
}

.pm-saving-grid {
    display: grid;
    gap: 12px;
}

.pm-saving-grid div {
    padding: 14px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid var(--pm-border);
}

.pm-saving-grid strong {
    color: var(--pm-primary);
    font-size: 1.7rem;
}

.pm-saving-grid span {
    color: var(--pm-muted);
    font-weight: 800;
}

.pm-payment-approval ul,
.pm-payment-approval li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pm-payment-approval ul {
    display: grid;
    gap: 10px;
}

.pm-payment-approval li {
    position: relative;
    padding: 10px 12px 10px 34px;
    border-radius: 14px;
    background: #f8fafc;
    color: var(--pm-slate);
    font-weight: 850;
}

.pm-payment-approval li::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #cbd5e1;
    transform: translateY(-50%);
}

.pm-payment-approval li.active::before,
.pm-payment-approval li:nth-child(2)::before,
.pm-payment-approval li:nth-child(3)::before {
    background: var(--pm-success);
    animation: pmPulseDot 1.5s ease-in-out infinite;
}

.pm-board-path,
.pm-affiliate-flow {
    display: grid;
    gap: 10px;
}

.pm-board-path span,
.pm-affiliate-flow span,
.pm-timeline-track span {
    padding: 11px 13px;
    border-radius: 14px;
    background: var(--pm-primary-soft);
    color: var(--pm-primary);
    font-weight: 900;
}

.pm-journey-timeline {
    margin-top: 16px;
}

.pm-timeline-track {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.pm-timeline-track span {
    position: relative;
    text-align: center;
    animation: pmTimelineGlow 5s ease-in-out infinite;
}

.pm-timeline-track span:nth-child(2) { animation-delay: .35s; }
.pm-timeline-track span:nth-child(3) { animation-delay: .7s; }
.pm-timeline-track span:nth-child(4) { animation-delay: 1.05s; }
.pm-timeline-track span:nth-child(5) { animation-delay: 1.4s; }

.pm-ai-demo p {
    color: var(--pm-muted);
    line-height: 1.7;
}

.pm-ai-demo-line {
    min-height: 28px;
    color: var(--pm-primary) !important;
    font-family: "Poppins", sans-serif;
    font-weight: 950;
}

.pm-question-growth {
    display: grid;
    gap: 12px;
}

.pm-question-growth div {
    display: grid;
    gap: 6px;
}

.pm-question-growth span {
    color: var(--pm-slate);
    font-weight: 900;
}

.pm-question-growth i {
    display: block;
    height: 10px;
    width: var(--bar);
    border-radius: 999px;
    background: linear-gradient(135deg, var(--pm-primary), #10b981);
    animation: pmGrowBar 2.4s ease-in-out infinite;
}

.pm-print-ready {
    display: grid;
    gap: 11px;
}

.pm-print-ready strong {
    padding: 12px;
    border-radius: 15px;
    background: #ecfdf5;
    color: #047857;
    animation: pmPrintReady 3s ease-in-out infinite;
}

.pm-print-ready strong:nth-child(3) { animation-delay: .35s; }
.pm-print-ready strong:nth-child(4) { animation-delay: .7s; }

.pm-urgency-strip {
    margin-top: 18px;
    padding: 18px;
    border-radius: 24px;
    background: linear-gradient(135deg, var(--pm-primary), #2563eb);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    box-shadow: var(--pm-shadow);
}

.pm-urgency-strip strong {
    font-family: "Poppins", sans-serif;
    font-size: 1.18rem;
}

.pm-shape-demo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.pm-checklist-demo,
.pm-subject-wheel,
.pm-shield-demo,
.pm-print-pipeline {
    padding: 22px;
    overflow: hidden;
}

.pm-checklist-demo ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.pm-checklist-demo li {
    position: relative;
    padding: 11px 12px 11px 40px;
    border-radius: 14px;
    background: #f8fafc;
    color: var(--pm-slate);
    font-weight: 900;
}

.pm-checklist-demo li::before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 12px;
    top: 50%;
    width: 20px;
    height: 20px;
    border-radius: 7px;
    display: grid;
    place-items: center;
    background: #dcfce7;
    color: #047857;
    font-size: .72rem;
    transform: translateY(-50%) scale(.2);
    animation: pmCheckPop 2.8s ease-in-out infinite;
}

.pm-checklist-demo li:nth-child(2)::before { animation-delay: .35s; }
.pm-checklist-demo li:nth-child(3)::before { animation-delay: .7s; }
.pm-checklist-demo li:nth-child(4)::before { animation-delay: 1.05s; }

.pm-wheel {
    position: relative;
    width: 210px;
    height: 210px;
    margin: 8px auto 0;
    border-radius: 999px;
    border: 1px dashed #c7d2fe;
    animation: pmWheelTurn 16s linear infinite;
}

.pm-wheel::before {
    content: "Subjects";
    position: absolute;
    inset: 50% auto auto 50%;
    width: 86px;
    height: 86px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--pm-primary), #10b981);
    color: #fff;
    font-weight: 950;
    transform: translate(-50%, -50%);
    box-shadow: var(--pm-shadow-sm);
}

.pm-wheel span {
    position: absolute;
    left: 50%;
    top: 50%;
    min-width: 78px;
    padding: 7px 9px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--pm-border);
    color: var(--pm-primary);
    font-size: .78rem;
    font-weight: 950;
    text-align: center;
    transform: translate(-50%, -50%) rotate(var(--angle)) translateY(-88px) rotate(calc(-1 * var(--angle)));
    box-shadow: var(--pm-shadow-sm);
}

.pm-wheel span:nth-child(1) { --angle: 0deg; }
.pm-wheel span:nth-child(2) { --angle: 72deg; }
.pm-wheel span:nth-child(3) { --angle: 144deg; }
.pm-wheel span:nth-child(4) { --angle: 216deg; }
.pm-wheel span:nth-child(5) { --angle: 288deg; }

.pm-shield-demo {
    text-align: center;
}

.pm-shield-shape {
    width: 112px;
    height: 128px;
    margin: 8px auto 12px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 1.6rem;
    background: linear-gradient(180deg, #4f46e5, #10b981);
    clip-path: polygon(50% 0, 92% 16%, 84% 74%, 50% 100%, 16% 74%, 8% 16%);
    animation: pmShieldFill 3.2s ease-in-out infinite;
}

.pm-shield-demo p {
    color: var(--pm-muted);
    line-height: 1.65;
    margin: 0;
    font-weight: 800;
}

.pm-print-pipeline div {
    position: relative;
    display: grid;
    gap: 12px;
    margin-top: 8px;
}

.pm-print-pipeline div::before {
    content: "";
    position: absolute;
    left: 13px;
    top: 12px;
    bottom: 12px;
    width: 3px;
    border-radius: 999px;
    background: #dbeafe;
}

.pm-print-pipeline span {
    position: relative;
    padding: 11px 12px 11px 38px;
    border-radius: 14px;
    background: #f8fafc;
    color: var(--pm-slate);
    font-weight: 950;
    animation: pmPipelineBlock 3.6s ease-in-out infinite;
}

.pm-print-pipeline span::before {
    content: "";
    position: absolute;
    left: 7px;
    top: 50%;
    width: 15px;
    height: 15px;
    border-radius: 999px;
    background: var(--pm-primary);
    transform: translateY(-50%);
}

.pm-print-pipeline span:nth-child(2) { animation-delay: .35s; }
.pm-print-pipeline span:nth-child(3) { animation-delay: .7s; }
.pm-print-pipeline span:nth-child(4) { animation-delay: 1.05s; }

.pm-sticky-cta {
    position: fixed;
    left: 18px;
    bottom: 18px;
    z-index: 900;
    max-width: calc(100% - 36px);
    padding: 10px;
    border-radius: 18px;
    background: rgba(15, 23, 42, .92);
    box-shadow: 0 18px 48px rgba(15,23,42,.28);
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    backdrop-filter: blur(14px);
    transform: translateY(110%);
    animation: pmStickyIn .5s ease 2s forwards;
}

.pm-sticky-cta span {
    padding: 0 8px;
    font-weight: 850;
}

.pm-sticky-cta a {
    padding: 9px 12px;
    border-radius: 12px;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-weight: 900;
}

.pm-sticky-cta a:last-child {
    background: var(--pm-success);
}

.pm-home-live-grid {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 1fr .72fr;
    gap: 18px;
    align-items: stretch;
}

.pm-live-demo {
    margin-top: 28px;
    padding: 26px;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 10%, rgba(79, 70, 229, .12), transparent 28rem),
        radial-gradient(circle at 88% 80%, rgba(16, 185, 129, .12), transparent 26rem),
        rgba(255, 255, 255, .94);
}

.pm-live-demo-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 18px;
    align-items: center;
    margin-bottom: 18px;
}

.pm-live-demo-head h2 {
    font-family: "Poppins", sans-serif;
    font-size: clamp(1.6rem, 3vw, 2.5rem);
    font-weight: 950;
    letter-spacing: -.04em;
    line-height: 1.08;
    margin: 0 0 8px;
}

.pm-live-demo-head p {
    color: var(--pm-muted);
    line-height: 1.72;
    margin: 0;
    max-width: 760px;
    font-weight: 750;
}

.pm-live-demo-grid {
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 18px;
}

.pm-demo-console,
.pm-demo-paper-output {
    border-radius: 24px;
    border: 1px solid rgba(226, 232, 240, .95);
    background: rgba(255,255,255,.92);
    box-shadow: var(--pm-shadow-sm);
    overflow: hidden;
}

.pm-demo-toolbar {
    min-height: 54px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #0f172a;
    color: #fff;
}

.pm-demo-toolbar span {
    width: 11px;
    height: 11px;
    border-radius: 999px;
    background: #f87171;
}

.pm-demo-toolbar span:nth-child(2) { background: #facc15; }
.pm-demo-toolbar span:nth-child(3) { background: #34d399; margin-right: 8px; }

.pm-demo-toolbar strong {
    font-weight: 900;
}

.pm-demo-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
}

.pm-demo-fields div {
    position: relative;
    padding: 14px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid var(--pm-border);
    overflow: hidden;
    transition: .22s ease;
}

.pm-demo-fields div::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: transparent;
    transition: .22s ease;
}

.pm-demo-fields div.is-active {
    background: #eef2ff;
    border-color: #c7d2fe;
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(79, 70, 229, .12);
}

.pm-demo-fields div.is-active::before {
    background: var(--pm-primary);
}

.pm-demo-fields small {
    display: block;
    color: var(--pm-muted);
    font-weight: 900;
    margin-bottom: 5px;
}

.pm-demo-fields strong {
    color: var(--pm-dark);
    font-weight: 950;
}

.pm-demo-ai {
    margin: 0 18px 18px;
    padding: 14px;
    border-radius: 18px;
    background: linear-gradient(135deg, #eef2ff, #ecfdf5);
    color: var(--pm-primary-dark);
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 950;
}

.pm-demo-ai i {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: #fff;
    color: var(--pm-primary);
    animation: pmAiSpark 2s ease-in-out infinite;
}

.pm-demo-paper-output {
    padding: 18px;
}

.pm-demo-paper-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.pm-demo-paper-head strong {
    font-family: "Poppins", sans-serif;
    font-size: 1.25rem;
    font-weight: 950;
}

.pm-live-demo-badge {
    padding: 7px 10px;
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
    font-weight: 950;
    font-size: .78rem;
}

.pm-demo-paper-body {
    min-height: 260px;
    padding: 18px;
    border-radius: 18px;
    background:
        linear-gradient(#eef2ff 1px, transparent 1px),
        #fff;
    background-size: 100% 30px;
    border: 1px solid var(--pm-border);
}

.pm-demo-paper-row {
    height: 11px;
    width: 48%;
    border-radius: 999px;
    background: #c7d2fe;
    margin-bottom: 10px;
}

.pm-demo-paper-row.short {
    width: 32%;
    background: #dbeafe;
    margin-bottom: 16px;
}

.pm-live-demo-questions {
    margin: 0;
    padding-left: 20px;
    display: grid;
    gap: 10px;
    color: var(--pm-slate);
    font-weight: 800;
}

.pm-live-demo-questions li {
    opacity: 0;
    transform: translateY(8px);
    animation: pmQuestionIn .32s ease forwards;
}

.pm-demo-output-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
    margin-top: 12px;
}

.pm-demo-output-actions span {
    padding: 10px;
    border-radius: 13px;
    background: #ecfdf5;
    color: #047857;
    text-align: center;
    font-weight: 950;
}

.pm-live-demo-progress {
    height: 10px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    margin-top: 16px;
}

.pm-live-demo-progress i {
    display: block;
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(135deg, var(--pm-primary), #0ea5e9, #10b981);
    transition: width .45s ease;
}

.pm-paper-preview,
.pm-generate-widget {
    padding: 20px;
}

.pm-paper-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.pm-paper-preview-head span,
.pm-generate-widget span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--pm-primary);
    font-weight: 900;
}

.pm-paper-preview-head em {
    border-radius: 999px;
    padding: 6px 10px;
    background: #dcfce7;
    color: #047857;
    font-style: normal;
    font-size: .78rem;
    font-weight: 900;
}

.pm-paper-sheet {
    position: relative;
    min-height: 210px;
    padding: 18px;
    border-radius: 18px;
    background:
        linear-gradient(#eef2ff 1px, transparent 1px),
        #fff;
    background-size: 100% 30px;
    border: 1px solid var(--pm-border);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}

.pm-paper-stamp {
    position: absolute;
    right: 18px;
    top: 16px;
    padding: 8px 12px;
    border: 2px solid #16a34a;
    border-radius: 12px;
    color: #047857;
    font-family: "Poppins", sans-serif;
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
    transform: rotate(-8deg);
    opacity: .82;
    animation: pmStampPop 3.4s ease-in-out infinite;
}

.pm-paper-line {
    height: 10px;
    border-radius: 999px;
    background: #c7d2fe;
    margin-bottom: 10px;
}

.pm-paper-title-line { width: 46%; }
.pm-paper-subtitle-line { width: 30%; margin-bottom: 16px; background: #dbeafe; }

.pm-paper-questions {
    margin: 0;
    padding-left: 20px;
    display: grid;
    gap: 9px;
    color: var(--pm-slate);
    font-weight: 750;
}

.pm-paper-questions li {
    opacity: 0;
    transform: translateY(8px);
    animation: pmQuestionIn .32s ease forwards;
}

.pm-generate-widget {
    display: grid;
    align-content: center;
    gap: 12px;
}

.pm-generate-widget strong {
    font-family: "Poppins", sans-serif;
    font-size: 1.35rem;
    line-height: 1.2;
}

.pm-generate-widget small {
    color: var(--pm-muted);
    font-weight: 700;
}

.pm-generate-bar {
    height: 12px;
    border-radius: 999px;
    overflow: hidden;
    background: #e2e8f0;
}

.pm-generate-bar i {
    display: block;
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(135deg, var(--pm-primary), #0ea5e9, #10b981);
    transition: width .45s ease;
}

.pm-payment-slider {
    margin-top: 18px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.pm-payment-track {
    display: flex;
    gap: 12px;
    width: max-content;
    animation: pmPaymentSlide 18s linear infinite;
}

.pm-payment-track span {
    min-height: 42px;
    padding: 0 15px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(226, 232, 240, .95);
    box-shadow: var(--pm-shadow-sm);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--pm-slate);
    font-weight: 900;
}

.pm-payment-track i {
    color: var(--pm-success);
}

.pm-ai-card {
    position: relative;
    overflow: hidden;
}

.pm-ai-card::before,
.pm-ai-card::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #facc15;
    box-shadow: 0 0 18px rgba(250, 204, 21, .85);
    animation: pmAiSpark 2.4s ease-in-out infinite;
}

.pm-ai-card::before {
    right: 28px;
    top: 22px;
}

.pm-ai-card::after {
    right: 64px;
    bottom: 24px;
    animation-delay: .9s;
}

@keyframes pmFadeUp {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pmPanelFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

@keyframes pmFloatSoft {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    50% {
        transform: translate3d(-22px, 18px, 0) scale(1.06);
    }
}

@keyframes pmGradientFlow {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

@keyframes pmPulseDot {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: .45;
        transform: scale(.72);
    }
}

@keyframes pmCursorBlink {
    0%, 48% {
        opacity: 1;
    }
    49%, 100% {
        opacity: 0;
    }
}

@keyframes pmCtaGlow {
    0%, 100% {
        box-shadow: 0 14px 30px rgba(79, 70, 229, .28);
    }
    50% {
        box-shadow: 0 18px 46px rgba(79, 70, 229, .52), 0 0 0 8px rgba(79, 70, 229, .08);
    }
}

@keyframes pmQuestionIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

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

@keyframes pmAiSpark {
    0%, 100% {
        opacity: 0;
        transform: translateY(0) scale(.7);
    }
    45% {
        opacity: 1;
        transform: translateY(-8px) scale(1.25);
    }
}

@keyframes pmFlowMarquee {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-100% - 12px));
    }
}

@keyframes pmTrustPulse {
    0%, 100% {
        box-shadow: var(--pm-shadow-sm);
        transform: translateY(0);
    }
    50% {
        box-shadow: 0 18px 44px rgba(245, 158, 11, .18);
        transform: translateY(-4px);
    }
}

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

@keyframes pmTimelineGlow {
    0%, 100% {
        box-shadow: none;
        transform: translateY(0);
    }
    45% {
        box-shadow: 0 12px 26px rgba(79, 70, 229, .18);
        transform: translateY(-3px);
    }
}

@keyframes pmGrowBar {
    0% { width: 18%; }
    55%, 100% { width: var(--bar); }
}

@keyframes pmPrintReady {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(6px);
    }
}

@keyframes pmStickyIn {
    to {
        transform: translateY(0);
    }
}

@keyframes pmPaperDrift {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(-7deg); }
    50% { transform: translate3d(18px, -28px, 0) rotate(8deg); }
}

@keyframes pmDiamondSpin {
    to { transform: rotate(405deg); }
}

@keyframes pmStampPop {
    0%, 72%, 100% { opacity: .28; transform: rotate(-8deg) scale(.86); }
    12%, 55% { opacity: .9; transform: rotate(-8deg) scale(1); }
}

@keyframes pmCheckPop {
    0%, 100% { transform: translateY(-50%) scale(.35); opacity: .45; }
    18%, 70% { transform: translateY(-50%) scale(1); opacity: 1; }
}

@keyframes pmWheelTurn {
    to { transform: rotate(360deg); }
}

@keyframes pmShieldFill {
    0%, 100% {
        filter: saturate(1);
        transform: translateY(0);
    }
    50% {
        filter: saturate(1.25) drop-shadow(0 16px 24px rgba(16,185,129,.2));
        transform: translateY(-5px);
    }
}

@keyframes pmPipelineBlock {
    0%, 100% {
        background: #f8fafc;
        transform: translateX(0);
    }
    45% {
        background: #eef2ff;
        transform: translateX(5px);
    }
}

.pm-section {
    padding: 66px 0;
}

.pm-section-head {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 34px;
}

.pm-section-head h2 {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    letter-spacing: -.04em;
    font-size: clamp(1.8rem, 3vw, 3rem);
    margin-bottom: 12px;
}

.pm-section-head p {
    color: var(--pm-muted);
    line-height: 1.8;
}

.pm-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.pm-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.pm-feature-card {
    padding: 24px;
}

.pm-feature-card i {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pm-primary-soft);
    color: var(--pm-primary);
    margin-bottom: 18px;
}

.pm-feature-card h3 {
    font-family: "Poppins", sans-serif;
    font-size: 1.12rem;
    font-weight: 800;
    margin-bottom: 10px;
}

.pm-feature-card p {
    color: var(--pm-muted);
    line-height: 1.72;
    margin: 0;
}

.pm-faq-accordion {
    width: min(920px, 100%);
    margin: 0 auto;
    display: grid;
    gap: 14px;
}

.pm-faq-page {
    padding-top: 46px;
    padding-bottom: 96px;
}

.pm-faq-page .pm-section-head {
    margin-bottom: 28px;
}

.pm-faq-page .pm-section-head h2 {
    line-height: 1.08;
}

.pm-faq-page + .pm-footer {
    margin-top: 24px;
}

.pm-faq-item {
    overflow: hidden;
}

.pm-faq-header {
    margin: 0;
}

.pm-faq-button {
    gap: 14px;
    padding: 20px 24px;
    color: var(--pm-dark);
    background: rgba(255, 255, 255, .92);
    border: 0;
    box-shadow: none;
    font-family: "Poppins", sans-serif;
    font-size: 1.02rem;
    font-weight: 800;
}

.pm-faq-button:not(.collapsed) {
    color: var(--pm-primary);
    background: linear-gradient(135deg, rgba(238, 242, 255, .94), rgba(255, 255, 255, .96));
    box-shadow: inset 0 -1px 0 rgba(226, 232, 240, .9);
}

.pm-faq-button:focus {
    box-shadow: 0 0 0 4px rgba(79, 70, 229, .12);
}

.pm-faq-button::after {
    margin-left: auto;
}

.pm-faq-icon {
    width: 44px;
    height: 44px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    background: var(--pm-primary-soft);
    color: var(--pm-primary);
}

.pm-faq-body {
    padding: 0 24px 22px 82px;
    color: var(--pm-muted);
    line-height: 1.8;
}

.pm-faq-cta {
    width: min(920px, 100%);
    margin: 28px auto 0;
    padding: 26px;
    display: grid;
    grid-template-columns: 1.25fr auto;
    gap: 22px;
    align-items: center;
    background:
        linear-gradient(135deg, rgba(79, 70, 229, .08), rgba(16, 185, 129, .07)),
        rgba(255, 255, 255, .94);
}

.pm-faq-cta-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--pm-primary);
    font-weight: 900;
    margin-bottom: 10px;
}

.pm-faq-cta-kicker i {
    color: var(--pm-warning);
}

.pm-faq-cta h3 {
    font-family: "Poppins", sans-serif;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    font-weight: 900;
    line-height: 1.14;
    margin: 0 0 8px;
}

.pm-faq-cta p {
    color: var(--pm-muted);
    line-height: 1.72;
    margin: 0;
}

.pm-faq-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.pm-pricing-card {
    padding: 28px;
    position: relative;
    overflow: hidden;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    animation: pmPricingIn .62s ease both;
    animation-delay: var(--plan-delay, 0ms);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.pm-pricing-card.popular {
    border: 2px solid rgba(79, 70, 229, .34);
    transform: translateY(-6px);
}

.pm-pricing-card.discounted {
    border: 2px solid rgba(16, 185, 129, .38);
    background:
        radial-gradient(circle at 86% 4%, rgba(16,185,129,.16), transparent 8.5rem),
        linear-gradient(180deg, #ffffff 0%, #f7fffb 100%);
}

.pm-pricing-card.discounted::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 6px;
    background: linear-gradient(90deg, #10b981, #22c55e, #2563eb);
}

.pm-pricing-card h3 {
    min-height: 3.1em;
    margin: 0;
    font-family: "Poppins", sans-serif;
    font-size: clamp(1.45rem, 1.8vw, 1.86rem);
    line-height: 1.18;
    letter-spacing: 0;
}

.pm-pricing-card:hover {
    transform: translateY(-10px) scale(1.015);
    border-color: rgba(79, 70, 229, .42);
    box-shadow: 0 24px 60px rgba(15, 23, 42, .14);
}

.pm-pricing-card.popular:hover {
    transform: translateY(-14px) scale(1.018);
}

.pm-pricing-card::before {
    content: "";
    position: absolute;
    inset: -1px;
    background: linear-gradient(120deg, transparent 0 28%, rgba(79,70,229,.12) 42%, transparent 58%);
    transform: translateX(-110%);
    transition: transform .62s ease;
    pointer-events: none;
}

.pm-pricing-card:hover::before {
    transform: translateX(110%);
}

.pm-plan-labels {
    min-height: 36px;
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.pm-plan-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pm-primary);
    color: #fff;
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 900;
    font-size: .74rem;
    line-height: 1;
    animation: pmBadgePulse 1.9s ease-in-out infinite;
}

.pm-discount-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    padding: 8px 11px;
    border-radius: 999px;
    color: #065f46;
    background: #d1fae5;
    font-size: .78rem;
    font-weight: 950;
    line-height: 1.1;
    box-shadow: 0 0 0 6px rgba(16,185,129,.10);
}

.pm-discount-badge i {
    color: #059669;
}

.pm-price {
    font-family: "Poppins", sans-serif;
    font-size: clamp(1.95rem, 2.5vw, 2.4rem);
    font-weight: 900;
    line-height: 1.08;
    margin: 16px 0 4px;
    transition: color .22s ease, text-shadow .22s ease;
}

.pm-pricing-card:hover .pm-price {
    color: var(--pm-primary);
    text-shadow: 0 10px 26px rgba(79, 70, 229, .16);
}

.pm-price small {
    display: block;
    color: var(--pm-muted);
    font-size: .9rem;
    line-height: 1.4;
    margin-top: 4px;
}

.pm-price-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    padding: 10px;
    border: 1px solid rgba(16,185,129,.16);
    border-radius: 16px;
    background: rgba(236, 253, 245, .72);
}

.pm-price-wrap del {
    color: #94a3b8;
    font-weight: 900;
    text-decoration-thickness: 2px;
}

.pm-price-wrap span {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    color: #047857;
    background: #ecfdf5;
    font-size: .76rem;
    font-weight: 950;
}

.pm-discount-offer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin-bottom: 22px;
    padding: 24px 28px;
    overflow: hidden;
    border-color: rgba(16,185,129,.32);
    background:
        radial-gradient(circle at 90% 18%, rgba(34,197,94,.18), transparent 14rem),
        linear-gradient(135deg, #ecfdf5, #eef2ff);
}

.pm-discount-offer span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    color: #047857;
    background: #d1fae5;
    font-weight: 950;
    font-size: .82rem;
}

.pm-discount-offer h3 {
    margin: 14px 0 8px;
    color: #0f172a;
    font-family: "Poppins", sans-serif;
    font-size: clamp(1.45rem, 3vw, 2.25rem);
    font-weight: 950;
    line-height: 1.12;
}

.pm-discount-offer p {
    margin: 0;
    color: #475569;
    line-height: 1.7;
}

.pm-discount-offer > strong {
    min-width: 150px;
    padding: 18px 20px;
    border-radius: 20px;
    color: #ffffff;
    background: linear-gradient(135deg, #10b981, #2563eb);
    box-shadow: 0 18px 40px rgba(16,185,129,.24);
    text-align: center;
}

.pm-list {
    list-style: none;
    padding: 0;
    margin: 20px 0 24px;
    display: grid;
    gap: 10px;
}

.pm-list li {
    color: var(--pm-slate);
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.pm-list i {
    color: var(--pm-success);
    margin-top: 4px;
    animation: pmCheckPop 2.8s ease-in-out infinite;
}

.pm-pricing-card > .pm-btn {
    margin-top: auto;
    min-height: 60px;
    border-radius: 18px;
}

.pm-pricing-card .pm-list li:nth-child(2) i { animation-delay: .12s; }
.pm-pricing-card .pm-list li:nth-child(3) i { animation-delay: .24s; }
.pm-pricing-card .pm-list li:nth-child(4) i { animation-delay: .36s; }
.pm-pricing-card .pm-list li:nth-child(5) i { animation-delay: .48s; }

.pm-pricing-flow {
    margin: 0 auto 22px;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.pm-pricing-flow span {
    position: relative;
    min-height: 48px;
    padding: 0 12px;
    border-radius: 15px;
    background: #f8fafc;
    color: var(--pm-slate);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    font-weight: 900;
    animation: pmTimelineGlow 4.6s ease-in-out infinite;
}

.pm-pricing-flow span:nth-child(2) { animation-delay: .25s; }
.pm-pricing-flow span:nth-child(3) { animation-delay: .5s; }
.pm-pricing-flow span:nth-child(4) { animation-delay: .75s; }

.pm-pricing-flow i {
    color: var(--pm-primary);
}

.pm-pricing-payments {
    animation: pmFadeUp .7s ease both;
}

@keyframes pmPricingIn {
    from {
        opacity: 0;
        transform: translateY(22px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes pmBadgePulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(79, 70, 229, .26);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(79, 70, 229, .08);
    }
}

.pm-auth-wrap {
    min-height: calc(100vh - 110px);
    display: grid;
    place-items: center;
    padding: 44px 16px;
}

.pm-auth-card {
    width: min(500px, 100%);
    background: rgba(255,255,255,.95);
    border: 1px solid var(--pm-border);
    border-radius: 28px;
    box-shadow: var(--pm-shadow);
    padding: 32px;
}

.pm-auth-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.pm-auth-card h1 {
    font-family: "Poppins", sans-serif;
    font-weight: 900;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.pm-form-group {
    margin-bottom: 16px;
}

.pm-label {
    font-weight: 800;
    margin-bottom: 8px;
    color: var(--pm-dark);
}

.pm-input,
.pm-select,
.pm-textarea {
    width: 100%;
    border: 1px solid var(--pm-border);
    background: #fff;
    border-radius: 16px;
    padding: 13px 15px;
    outline: 0;
    transition: .2s ease;
    color: var(--pm-dark);
}

.pm-input:focus,
.pm-select:focus,
.pm-textarea:focus {
    border-color: rgba(79, 70, 229, .55);
    box-shadow: 0 0 0 4px rgba(79, 70, 229, .11);
}

.pm-alert {
    padding: 14px 16px;
    border-radius: 16px;
    margin-bottom: 16px;
    font-weight: 700;
}

.pm-alert-danger {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.pm-alert-success {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #bbf7d0;
}

.pm-dashboard {
    min-height: 100vh;
    background: #f8fafc;
}

.pm-dash-shell {
    display: grid;
    grid-template-columns: 280px 1fr;
    min-height: 100vh;
}

.pm-sidebar {
    background: #0f172a;
    color: #cbd5e1;
    padding: 18px;
    position: sticky;
    top: 0;
    height: 100vh;
}

.pm-sidebar .pm-brand {
    color: #fff;
    padding: 8px 6px 22px;
}

.pm-sidebar-nav {
    display: grid;
    gap: 6px;
}

.pm-sidebar-title {
    color: #64748b;
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 18px 8px 8px;
}

.pm-sidebar-link {
    color: #cbd5e1;
    padding: 12px 14px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 750;
}

.pm-sidebar-link:hover,
.pm-sidebar-link.active {
    background: rgba(79, 70, 229, .18);
    color: #fff;
}

.pm-dash-main {
    padding: 22px;
    overflow: hidden;
}

.pm-dash-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.pm-dash-title h1 {
    font-family: "Poppins", sans-serif;
    font-weight: 900;
    letter-spacing: -.04em;
    margin: 0;
}

.pm-dash-title p {
    color: var(--pm-muted);
    margin: 6px 0 0;
}

.pm-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 18px;
}

.pm-kpi-card {
    padding: 20px;
    background: #fff;
    border: 1px solid var(--pm-border);
    border-radius: 22px;
    box-shadow: var(--pm-shadow-sm);
}

.pm-kpi-icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--pm-primary);
    background: var(--pm-primary-soft);
    margin-bottom: 14px;
}

.pm-kpi-card strong {
    display: block;
    font-size: 1.7rem;
    font-weight: 950;
}

.pm-kpi-card span {
    color: var(--pm-muted);
    font-weight: 700;
}

.pm-dash-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 16px;
}

.pm-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.pm-table th {
    color: var(--pm-muted);
    font-size: .84rem;
    padding: 8px 12px;
}

.pm-table td {
    background: #fff;
    padding: 14px 12px;
    border-top: 1px solid var(--pm-border);
    border-bottom: 1px solid var(--pm-border);
}

.pm-table td:first-child {
    border-left: 1px solid var(--pm-border);
    border-radius: 14px 0 0 14px;
}

.pm-table td:last-child {
    border-right: 1px solid var(--pm-border);
    border-radius: 0 14px 14px 0;
}

.pm-badge {
    display: inline-flex;
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 900;
    font-size: .76rem;
}

.pm-badge-success { background: #dcfce7; color: #047857; }
.pm-badge-warning { background: #fef3c7; color: #92400e; }
.pm-badge-danger { background: #fee2e2; color: #991b1b; }
.pm-badge-info { background: #e0f2fe; color: #075985; }
.pm-badge-dark { background: #e2e8f0; color: #334155; }

.pm-footer {
    padding: 50px 0 24px;
    background: #0f172a;
    color: #cbd5e1;
    margin-top: 66px;
}

.pm-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr .8fr .9fr .7fr;
    gap: 24px;
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(148, 163, 184, .25);
}

.pm-footer-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    margin-bottom: 14px;
}

.pm-footer h6 {
    color: #fff;
    font-weight: 900;
    margin-bottom: 14px;
}

.pm-footer a,
.pm-footer span {
    display: block;
    color: #cbd5e1;
    margin-bottom: 9px;
}

.pm-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    color: #94a3b8;
    padding-top: 20px;
    font-size: .9rem;
}

.pm-muted {
    color: var(--pm-muted);
}

.urdu-text {
    font-family: "Noto Nastaliq Urdu", serif;
}

@media (max-width: 1050px) {
    .pm-hero-grid,
    .pm-dash-grid {
        grid-template-columns: 1fr;
    }

    .pm-grid-4,
    .pm-kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pm-dash-shell {
        grid-template-columns: 1fr;
    }

    .pm-sidebar {
        position: relative;
        height: auto;
    }
}

@media (max-width: 860px) {
    .pm-nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 44px;
    }

    .pm-navbar {
        flex-wrap: wrap;
        gap: 10px;
        min-height: 62px;
        padding: 10px 12px;
    }

    .pm-nav-menu {
        display: none;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        padding-top: 10px;
        max-height: calc(100vh - 120px);
        overflow-y: auto;
    }

    .pm-nav-menu.show {
        display: flex;
    }

    .pm-nav-link,
    .pm-nav-cta {
        justify-content: center;
        min-height: 44px;
    }

    .pm-brand {
        min-width: 0;
    }

    .pm-brand strong,
    .pm-brand small {
        max-width: 170px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .pm-hero {
        padding-top: 46px;
    }

    .pm-home-hero::before {
        inset: 40px auto auto 28%;
        width: 240px;
        height: 240px;
    }

    .pm-home-flow {
        grid-template-columns: 1fr;
        margin-top: 26px;
    }

    .pm-home-live-grid {
        grid-template-columns: 1fr;
        margin-top: 24px;
    }

    .pm-live-demo-head,
    .pm-live-demo-grid,
    .pm-demo-fields,
    .pm-demo-output-actions {
        grid-template-columns: 1fr;
    }

    .pm-live-demo {
        padding: 20px;
    }

    .pm-trust-strip,
    .pm-conversion-grid,
    .pm-demo-grid,
    .pm-shape-demo-grid,
    .pm-timeline-track {
        grid-template-columns: 1fr;
    }

    .pm-trust-score {
        width: 100%;
    }

    .pm-trust-stats {
        justify-content: stretch;
    }

    .pm-benefit-line,
    .pm-urgency-strip,
    .pm-sticky-cta {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .pm-sticky-cta {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
    }

    .pm-sticky-cta a {
        text-align: center;
    }

    .pm-home-flow-track {
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
        mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    }

    .pm-grid-3,
    .pm-grid-4,
    .pm-pricing-flow,
    .pm-stat-row,
    .pm-kpi-grid,
    .pm-footer-grid {
        grid-template-columns: 1fr;
    }

    .pm-pricing-card.popular {
        transform: none;
    }

    .pm-discount-offer {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .pm-discount-offer > strong {
        width: 100%;
    }

    .pm-auth-card {
        padding: 24px;
    }

    .pm-faq-button {
        align-items: flex-start;
        padding: 18px;
        font-size: .96rem;
        line-height: 1.45;
    }

    .pm-faq-body {
        padding: 0 18px 18px;
    }

    .pm-faq-page {
        padding-top: 34px;
        padding-bottom: 72px;
    }

    .pm-faq-cta {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .pm-faq-cta-actions {
        justify-content: stretch;
    }

    .pm-faq-cta-actions .pm-btn {
        justify-content: center;
        width: 100%;
    }
}

/* Premium automation lab replacing the flat demo-card area */
.pm-automation-lab {
    position: relative;
    margin-top: 26px;
    padding: 28px;
    border-radius: 32px;
    background:
        linear-gradient(135deg, rgba(15,23,42,.96), rgba(30,41,59,.94)),
        #0f172a;
    border: 1px solid rgba(148,163,184,.18);
    box-shadow: 0 32px 90px rgba(15,23,42,.22);
    overflow: hidden;
}

.pm-automation-lab::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 12%, rgba(79,70,229,.34), transparent 26rem),
        radial-gradient(circle at 86% 20%, rgba(6,182,212,.22), transparent 24rem),
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: auto, auto, 34px 34px, 34px 34px;
    pointer-events: none;
}

.pm-automation-lab::after {
    content: "";
    position: absolute;
    left: -18%;
    top: 0;
    width: 34%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
    transform: skewX(-18deg);
    animation: pmLabSweep 7s ease-in-out infinite;
    pointer-events: none;
}

.pm-automation-lab > * {
    position: relative;
    z-index: 1;
}

.pm-automation-lab-head {
    max-width: 850px;
    margin-bottom: 22px;
}

.pm-automation-lab-head .pm-card-kicker {
    color: #a5b4fc;
}

.pm-automation-lab-head h2 {
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-size: clamp(1.55rem, 3vw, 2.7rem);
    font-weight: 950;
    letter-spacing: -.04em;
    line-height: 1.08;
    margin: 0 0 10px;
}

.pm-automation-lab-head p {
    color: #cbd5e1;
    line-height: 1.75;
    margin: 0;
}

.pm-automation-lab .pm-demo-grid,
.pm-automation-lab .pm-shape-demo-grid {
    gap: 18px;
}

.pm-automation-lab .pm-card {
    position: relative;
    min-height: 256px;
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92));
    border: 1px solid rgba(255,255,255,.34);
    box-shadow: 0 22px 52px rgba(0,0,0,.22);
    transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease;
}

.pm-automation-lab .pm-card:hover {
    transform: translateY(-7px);
    border-color: rgba(129,140,248,.7);
    box-shadow: 0 32px 70px rgba(0,0,0,.28);
}

.pm-automation-lab .pm-card-kicker {
    min-height: 32px;
    margin-bottom: 16px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(238,242,255,.92);
    color: var(--pm-primary);
}

.pm-ai-demo {
    background:
        radial-gradient(circle at 70% 20%, rgba(79,70,229,.2), transparent 9rem),
        linear-gradient(180deg, #fff, #f8fafc) !important;
}

.pm-ai-orb {
    width: 78px;
    height: 78px;
    border-radius: 28px;
    margin: 6px 0 16px;
    display: grid;
    place-items: center;
    color: #fff;
    background: conic-gradient(from 180deg, #4f46e5, #06b6d4, #10b981, #4f46e5);
    box-shadow: 0 18px 42px rgba(79,70,229,.28);
    animation: pmAiOrb 4.2s ease-in-out infinite;
}

.pm-ai-orb i {
    font-size: 1.45rem;
}

.pm-ai-demo-line {
    padding: 12px 14px;
    border-radius: 16px;
    background: #111827;
    color: #a7f3d0 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

.pm-ai-scan {
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, #10b981, #06b6d4, transparent);
    animation: pmAiScan 1.8s ease-in-out infinite;
}

.pm-question-growth div {
    padding: 10px;
    border-radius: 16px;
    background: rgba(238,242,255,.74);
}

.pm-question-growth span {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.pm-question-growth em {
    font-style: normal;
    color: var(--pm-primary);
    font-size: .8rem;
}

.pm-question-growth i {
    position: relative;
    width: 100%;
    height: 12px;
    background: rgba(203,213,225,.9);
    overflow: hidden;
}

.pm-question-growth i::before {
    content: "";
    display: block;
    width: var(--bar);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #4f46e5, #06b6d4, #10b981);
    animation: pmGrowBarAdvanced 2.8s ease-in-out infinite;
}

.pm-print-ready strong {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 14px 16px;
    border-radius: 18px;
    color: #065f46;
    background:
        linear-gradient(135deg, rgba(236,253,245,.98), rgba(209,250,229,.82));
    border: 1px solid rgba(16,185,129,.18);
    box-shadow: 0 12px 26px rgba(16,185,129,.10);
}

.pm-print-ready strong i {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #10b981, #059669);
}

.pm-affiliate-flow {
    display: grid;
    gap: 14px;
}

.pm-affiliate-flow span {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 18px;
    color: #3730a3;
    background: linear-gradient(135deg, #eef2ff, #fff);
    border: 1px solid rgba(199,210,254,.85);
    font-weight: 950;
    overflow: hidden;
}

.pm-affiliate-flow span::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(79,70,229,.13), transparent);
    transform: translateX(-100%);
    animation: pmFlowHighlight 3.6s ease-in-out infinite;
}

.pm-affiliate-flow span:nth-child(2)::after { animation-delay: .45s; }
.pm-affiliate-flow span:nth-child(3)::after { animation-delay: .9s; }

.pm-checklist-demo li,
.pm-print-pipeline span {
    min-height: 48px;
    background: linear-gradient(135deg, rgba(248,250,252,.98), rgba(238,242,255,.9));
    border: 1px solid rgba(226,232,240,.88);
}

.pm-checklist-demo li {
    animation: pmChecklistGlow 3.4s ease-in-out infinite;
}

.pm-wheel {
    background:
        radial-gradient(circle, rgba(79,70,229,.12), transparent 56%),
        rgba(248,250,252,.86);
    box-shadow: inset 0 0 0 12px rgba(238,242,255,.64);
}

.pm-wheel::after {
    box-shadow: 0 18px 34px rgba(79,70,229,.24);
}

.pm-shield-shape {
    filter: drop-shadow(0 18px 28px rgba(79,70,229,.24));
    animation: pmShieldPulse 3s ease-in-out infinite;
}

.pm-shield-demo p {
    padding: 12px;
    border-radius: 18px;
    background: rgba(238,242,255,.82);
}

.pm-print-pipeline div::before {
    background: linear-gradient(180deg, #4f46e5, #06b6d4, #10b981);
    animation: pmPipelineBeam 2.6s ease-in-out infinite;
}

.pm-print-pipeline span {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pm-print-pipeline span i {
    color: var(--pm-primary);
}

.pm-print-pipeline > .pm-card-kicker {
    padding-left: 10px;
}

.pm-print-pipeline > .pm-card-kicker::before {
    display: none;
}

@keyframes pmLabSweep {
    0%, 42% { transform: translateX(0) skewX(-18deg); opacity: 0; }
    52% { opacity: 1; }
    72%, 100% { transform: translateX(420%) skewX(-18deg); opacity: 0; }
}

@keyframes pmAiOrb {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-8px) rotate(8deg); }
}

@keyframes pmAiScan {
    0%, 100% { transform: translateX(-18%); opacity: .35; }
    50% { transform: translateX(18%); opacity: 1; }
}

@keyframes pmGrowBarAdvanced {
    0% { transform: scaleX(.35); transform-origin: left; }
    55%, 100% { transform: scaleX(1); transform-origin: left; }
}

@keyframes pmFlowHighlight {
    0%, 45% { transform: translateX(-100%); }
    75%, 100% { transform: translateX(100%); }
}

@keyframes pmChecklistGlow {
    0%, 100% { box-shadow: 0 0 0 rgba(16,185,129,0); }
    50% { box-shadow: 0 14px 28px rgba(16,185,129,.11); }
}

@keyframes pmShieldPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

@keyframes pmPipelineBeam {
    0%, 100% { opacity: .45; transform: scaleY(.72); }
    50% { opacity: 1; transform: scaleY(1); }
}

@media (max-width: 1050px) {
    .pm-automation-lab .pm-demo-grid,
    .pm-automation-lab .pm-shape-demo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .pm-automation-lab {
        padding: 20px;
        border-radius: 26px;
    }

    .pm-automation-lab .pm-demo-grid,
    .pm-automation-lab .pm-shape-demo-grid {
        grid-template-columns: 1fr;
    }

    .pm-automation-lab .pm-card {
        min-height: auto;
    }

    .pm-ai-orb {
        width: 64px;
        height: 64px;
        border-radius: 22px;
    }
}

/* Homepage trust metrics */
.pm-home-metrics {
    position: relative;
    padding: 64px 0;
    background:
        linear-gradient(180deg, #f8fafc, #f1f5f9),
        radial-gradient(circle at 14% 20%, rgba(37,99,235,.08), transparent 22rem);
    border-top: 1px solid rgba(226,232,240,.82);
    border-bottom: 1px solid rgba(226,232,240,.82);
}

.pm-metrics-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 30px;
    align-items: center;
}

.pm-metric-item {
    position: relative;
    min-width: 0;
    min-height: 220px;
    padding: 26px 24px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pm-metric-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -15px;
    top: 18%;
    width: 1px;
    height: 64%;
    background: linear-gradient(180deg, transparent, rgba(148,163,184,.36), transparent);
}

@media (max-width: 1500px) and (min-width: 1181px) {
    .pm-metric-item {
        padding-inline: 18px;
    }

    .pm-metric-item strong {
        font-size: clamp(2.45rem, 3.8vw, 3.65rem);
    }
}

.pm-metric-item > span {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: #eef4ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.45rem;
    margin-bottom: 20px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 14px 28px rgba(37,99,235,.08);
}

.pm-metric-item strong {
    display: flex;
    align-items: baseline;
    justify-content: center;
    width: 100%;
    min-height: 64px;
    color: #0f172a;
    font-family: "Poppins", sans-serif;
    font-size: clamp(2.45rem, 4.4vw, 4.1rem);
    font-weight: 950;
    line-height: 1;
    letter-spacing: 0;
}

.pm-metric-item strong b {
    font: inherit;
    letter-spacing: 0;
}

.pm-metric-item > i {
    display: block;
    width: 64px;
    height: 3px;
    border-radius: 999px;
    background: #2563eb;
    margin: 16px 0 17px;
}

.pm-metric-item h3 {
    width: 100%;
    margin: 0;
    color: #475569;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
    text-align: center;
}

.pm-metric-item p {
    width: 100%;
    margin: 10px 0 0;
    color: #94a3b8;
    font-size: .9rem;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 1180px) {
    .pm-metrics-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pm-metric-item:nth-child(3)::after {
        display: none;
    }
}

@media (max-width: 820px) {
    .pm-metrics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pm-metric-item:nth-child(3)::after {
        display: block;
    }

    .pm-metric-item:nth-child(even)::after {
        display: none;
    }

    .pm-metric-item:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .pm-home-metrics {
        padding: 34px 0;
    }

    .pm-metrics-grid {
        grid-template-columns: 1fr;
    }

    .pm-metric-item:last-child {
        grid-column: auto;
    }

    .pm-metric-item {
        min-height: 190px;
        padding: 24px 16px;
    }

    .pm-metric-item:not(:last-child)::after {
        display: block;
        top: auto;
        right: 12%;
        bottom: 0;
        width: 76%;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(148,163,184,.34), transparent);
    }

    .pm-metric-item > span {
        width: 56px;
        height: 56px;
        font-size: 1.25rem;
    }
}

/* Advanced homepage product showcase */
.pm-digital-showcase {
    position: relative;
    overflow: hidden;
    padding: 76px 0 96px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.36), rgba(238,242,255,.56)),
        radial-gradient(circle at 86% 20%, rgba(14, 165, 233, .13), transparent 28rem),
        radial-gradient(circle at 16% 76%, rgba(16, 185, 129, .12), transparent 26rem);
}

.pm-digital-showcase::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(79,70,229,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79,70,229,.055) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
    pointer-events: none;
}

.pm-digital-showcase .pm-container {
    position: relative;
    z-index: 1;
}

.pm-showcase-head {
    max-width: 900px;
    margin: 0 auto 38px;
    text-align: center;
}

.pm-showcase-head h2 {
    font-family: "Poppins", sans-serif;
    font-size: clamp(2rem, 4vw, 4rem);
    font-weight: 950;
    line-height: 1.08;
    margin: 0 0 14px;
}

.pm-showcase-head h2 span {
    color: #2563eb;
}

.pm-showcase-head p {
    color: var(--pm-muted);
    font-size: 1.05rem;
    line-height: 1.8;
    max-width: 760px;
    margin: 0 auto;
}

.pm-showcase-grid {
    display: grid;
    grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
    gap: 42px;
    align-items: center;
}

.pm-outcome-list {
    display: grid;
    gap: 14px;
}

.pm-outcome-item {
    min-height: 74px;
    padding: 18px 20px;
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(226,232,240,.96);
    box-shadow: 0 12px 34px rgba(15,23,42,.06);
    display: grid;
    grid-template-columns: 36px 1fr;
    column-gap: 14px;
    align-items: center;
}

.pm-outcome-item i {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #4f46e5);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-row: span 2;
    box-shadow: 0 10px 20px rgba(37,99,235,.23);
}

.pm-outcome-item strong {
    font-weight: 950;
}

.pm-outcome-item span {
    color: var(--pm-muted);
    line-height: 1.55;
}

.pm-device-stage {
    position: relative;
    min-height: 560px;
    perspective: 1100px;
}

.pm-device-stage-art {
    min-height: 610px;
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
}

.pm-device-stage-art::before {
    content: "";
    position: absolute;
    inset: 4% -2% 6% 3%;
    border-radius: 38px;
    background:
        radial-gradient(circle at 18% 18%, rgba(20,184,166,.18), transparent 34%),
        radial-gradient(circle at 82% 30%, rgba(37,99,235,.16), transparent 36%),
        linear-gradient(135deg, rgba(255,255,255,.86), rgba(239,246,255,.64));
    border: 1px solid rgba(203,213,225,.64);
    box-shadow: 0 34px 90px rgba(15,23,42,.12);
    z-index: -2;
}

.pm-device-stage-art::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 8%;
    bottom: 4%;
    height: 34px;
    border-radius: 999px;
    background: rgba(15,23,42,.2);
    filter: blur(22px);
    z-index: -1;
}

.pm-dashboard-showcase-image {
    position: relative;
    z-index: 2;
    display: block;
    width: min(760px, 100%);
    height: auto;
    border-radius: 28px;
    filter: drop-shadow(0 34px 42px rgba(15,23,42,.22));
    transform: translateY(2px) rotateX(1deg) rotateY(-2deg);
    transform-origin: center;
    animation: pmDashboardArtFloat 7s ease-in-out infinite;
}

.pm-dashboard-art-badge {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 16px;
    border: 1px solid rgba(226,232,240,.92);
    background: rgba(255,255,255,.9);
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
    box-shadow: 0 18px 42px rgba(15,23,42,.13);
    backdrop-filter: blur(14px);
}

.pm-dashboard-art-badge i {
    color: #2563eb;
}

.pm-dashboard-art-badge-ai {
    left: 4%;
    top: 18%;
    animation: pmFloatY 5.5s ease-in-out infinite;
}

.pm-dashboard-art-badge-live {
    right: 4%;
    bottom: 16%;
    animation: pmFloatY 5.5s ease-in-out infinite reverse;
}

.pm-device-stage-art .pm-stage-glow,
.pm-device-stage-art .pm-orbit-ring,
.pm-device-stage-art .pm-laptop-mockup,
.pm-device-stage-art .pm-phone-mockup {
    display: none;
}

.pm-stage-glow {
    position: absolute;
    inset: 9% 0 auto 8%;
    width: 76%;
    height: 54%;
    border-radius: 999px;
    background:
        radial-gradient(circle at 40% 40%, rgba(79,70,229,.2), transparent 58%),
        radial-gradient(circle at 68% 56%, rgba(16,185,129,.16), transparent 48%);
    filter: blur(8px);
    animation: pmStageGlow 7s ease-in-out infinite;
}

.pm-orbit-ring {
    position: absolute;
    inset: 30px 42px auto auto;
    width: 230px;
    height: 230px;
    border: 1px dashed rgba(79,70,229,.22);
    border-radius: 999px;
    animation: pmOrbit 18s linear infinite;
}

.pm-orbit-ring span {
    position: absolute;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(226,232,240,.96);
    color: var(--pm-primary);
    box-shadow: 0 14px 30px rgba(15,23,42,.10);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    animation: pmOrbitIcon 18s linear infinite reverse;
}

.pm-orbit-ring span:nth-child(1) { left: 50%; top: -23px; margin-left: -23px; }
.pm-orbit-ring span:nth-child(2) { right: -16px; bottom: 32px; }
.pm-orbit-ring span:nth-child(3) { left: -16px; bottom: 32px; }

.pm-laptop-mockup {
    position: absolute;
    right: 2%;
    top: 76px;
    width: min(720px, 100%);
    border-radius: 28px;
    background: #111827;
    padding: 12px;
    box-shadow: 0 34px 80px rgba(15,23,42,.24);
    transform: rotateX(2deg) rotateY(-4deg);
    animation: pmDeviceFloat 7s ease-in-out infinite;
}

.pm-laptop-topbar {
    height: 38px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #e2e8f0;
    padding: 0 10px 10px;
}

.pm-laptop-topbar span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #fb7185;
}

.pm-laptop-topbar span:nth-child(2) { background: #facc15; }
.pm-laptop-topbar span:nth-child(3) { background: #22c55e; }

.pm-laptop-topbar strong {
    margin-left: 8px;
    font-size: .86rem;
}

.pm-laptop-topbar em {
    margin-left: auto;
    font-style: normal;
    font-weight: 900;
    font-size: .72rem;
    color: #86efac;
}

.pm-laptop-screen {
    min-height: 330px;
    border-radius: 18px;
    overflow: hidden;
    background: #f8fafc;
    display: grid;
    grid-template-columns: 160px 1fr;
}

.pm-laptop-screen aside {
    background: linear-gradient(180deg, #0f766e, #155e75);
    padding: 18px 14px;
    display: grid;
    align-content: start;
    gap: 11px;
}

.pm-laptop-screen aside b {
    color: rgba(255,255,255,.84);
    font-size: .75rem;
    display: flex;
    gap: 8px;
    align-items: center;
}

.pm-laptop-screen main {
    padding: 18px;
    display: grid;
    gap: 14px;
}

.pm-dashboard-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.pm-dashboard-cards article {
    position: relative;
    background: #fff;
    border: 1px solid rgba(203,213,225,.88);
    border-radius: 16px;
    padding: 14px 12px 12px;
    min-height: 118px;
    overflow: hidden;
    box-shadow: 0 16px 34px rgba(15,23,42,.08);
}

.pm-dashboard-cards article::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(37,99,235,.11), transparent 28%),
        linear-gradient(180deg, rgba(248,250,252,.18), rgba(255,255,255,0));
    pointer-events: none;
}

.pm-dashboard-cards .pm-card-icon {
    position: absolute;
    right: 12px;
    top: 12px;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(37,99,235,.14), rgba(16,185,129,.14));
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .78rem;
}

.pm-dashboard-cards small {
    position: relative;
    z-index: 1;
    color: var(--pm-muted);
    display: block;
    font-weight: 800;
    font-size: .68rem;
    padding-right: 34px;
}

.pm-dashboard-cards strong {
    position: relative;
    z-index: 1;
    display: block;
    font-size: clamp(1.12rem, 1.8vw, 1.46rem);
    margin: 7px 0 4px;
    letter-spacing: 0;
    color: #0f172a;
    white-space: nowrap;
}

.pm-dashboard-cards .pm-card-trend {
    position: relative;
    z-index: 1;
    display: block;
    color: #059669;
    font-size: .58rem;
    font-weight: 900;
    margin-bottom: 10px;
}

.pm-dashboard-cards article > i,
.pm-chart-panel span {
    display: block;
    border-radius: 999px;
    background: linear-gradient(135deg, #2563eb, #06b6d4);
}

.pm-dashboard-cards article > i {
    position: relative;
    z-index: 1;
    height: 5px;
    width: 72%;
    animation: pmWidthPulse 3.2s ease-in-out infinite;
}

.pm-chart-panel {
    min-height: 138px;
    padding: 16px;
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96)),
        repeating-linear-gradient(90deg, rgba(148,163,184,.12) 0, rgba(148,163,184,.12) 1px, transparent 1px, transparent 58px);
    border: 1px solid rgba(203,213,225,.88);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 18px 36px rgba(15,23,42,.07);
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px;
}

.pm-chart-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2px;
}

.pm-chart-header b {
    color: #0f172a;
    font-size: .72rem;
    font-weight: 950;
}

.pm-chart-header em {
    color: #059669;
    font-size: .62rem;
    font-style: normal;
    font-weight: 900;
}

.pm-chart-panel span {
    position: relative;
    flex: 1;
    height: var(--h);
    min-height: 28px;
    animation: pmChartDance 2.8s ease-in-out infinite;
    box-shadow: 0 10px 22px rgba(37,99,235,.18);
}

.pm-chart-panel span b {
    position: absolute;
    left: 50%;
    bottom: -19px;
    transform: translateX(-50%);
    color: #64748b;
    font-size: .5rem;
    font-weight: 900;
}

.pm-chart-panel span:nth-child(2n) {
    background: linear-gradient(135deg, #10b981, #06b6d4);
    animation-delay: -.8s;
}

.pm-workflow-board {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.pm-workflow-board div {
    border-radius: 14px;
    background: #eef2ff;
    padding: 11px;
}

.pm-workflow-board b,
.pm-workflow-board span {
    display: block;
    font-size: .72rem;
}

.pm-workflow-board b {
    color: var(--pm-primary);
    margin-bottom: 4px;
}

.pm-workflow-board span {
    color: var(--pm-dark);
    font-weight: 900;
}

.pm-laptop-base {
    width: 45%;
    height: 20px;
    margin: 0 auto -32px;
    border-radius: 0 0 22px 22px;
    background: #111827;
    box-shadow: 0 18px 28px rgba(15,23,42,.2);
}

.pm-phone-mockup {
    position: absolute;
    right: 0;
    bottom: 18px;
    width: 184px;
    border-radius: 34px;
    background: #111827;
    padding: 12px;
    box-shadow: 0 28px 60px rgba(15,23,42,.28);
    animation: pmPhoneFloat 6s ease-in-out infinite;
}

.pm-phone-speaker {
    width: 56px;
    height: 6px;
    border-radius: 999px;
    background: #334155;
    margin: 0 auto 9px;
}

.pm-phone-screen {
    min-height: 278px;
    border-radius: 24px;
    background:
        linear-gradient(180deg, #f8fafc, #eef2ff);
    padding: 14px 10px;
    display: grid;
    align-content: start;
    gap: 10px;
}

.pm-phone-card {
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(226,232,240,.95);
    min-height: 48px;
    padding: 10px;
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: .74rem;
    font-weight: 900;
    color: var(--pm-slate);
}

.pm-phone-card i {
    color: var(--pm-primary);
}

.pm-phone-card.active {
    background: linear-gradient(135deg, #4f46e5, #2563eb);
    color: #fff;
}

.pm-phone-card.active i {
    color: #fff;
}

.pm-phone-nav {
    margin-top: 16px;
    display: flex;
    justify-content: center;
    gap: 12px;
}

.pm-phone-nav i {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #c7d2fe;
}

.pm-module-strip {
    margin-top: 38px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
}

.pm-module-card {
    position: relative;
    min-height: 176px;
    padding: 20px;
    border-radius: 20px;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(226,232,240,.96);
    box-shadow: var(--pm-shadow-sm);
    overflow: hidden;
}

.pm-module-card::before {
    content: "";
    position: absolute;
    inset: auto -20% -46% -20%;
    height: 86px;
    background: linear-gradient(135deg, rgba(79,70,229,.14), rgba(16,185,129,.12));
    transform: rotate(-8deg);
}

.pm-module-card span {
    position: absolute;
    top: 14px;
    right: 16px;
    color: #cbd5e1;
    font-weight: 950;
}

.pm-module-card i {
    width: 44px;
    height: 44px;
    border-radius: 15px;
    background: var(--pm-primary-soft);
    color: var(--pm-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
}

.pm-module-card strong,
.pm-module-card small {
    position: relative;
    z-index: 1;
    display: block;
}

.pm-module-card strong {
    font-weight: 950;
    margin-bottom: 6px;
}

.pm-module-card small {
    color: var(--pm-muted);
    line-height: 1.45;
}

@keyframes pmStageGlow {
    0%, 100% { transform: scale(.96) translateY(0); opacity: .8; }
    50% { transform: scale(1.04) translateY(12px); opacity: 1; }
}

@keyframes pmOrbit {
    to { transform: rotate(360deg); }
}

@keyframes pmOrbitIcon {
    to { transform: rotate(360deg); }
}

@keyframes pmDeviceFloat {
    0%, 100% { transform: rotateX(2deg) rotateY(-4deg) translateY(0); }
    50% { transform: rotateX(1deg) rotateY(-2deg) translateY(-16px); }
}

@keyframes pmDashboardArtFloat {
    0%, 100% { transform: translateY(2px) rotateX(1deg) rotateY(-2deg); }
    50% { transform: translateY(-14px) rotateX(1deg) rotateY(-1deg); }
}

@keyframes pmFloatY {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

@keyframes pmPhoneFloat {
    0%, 100% { transform: translateY(0) rotate(1deg); }
    50% { transform: translateY(-18px) rotate(-1deg); }
}

@keyframes pmWidthPulse {
    0%, 100% { width: 62%; opacity: .76; }
    50% { width: 94%; opacity: 1; }
}

@keyframes pmChartDance {
    0%, 100% { transform: scaleY(.84); transform-origin: bottom; }
    50% { transform: scaleY(1.05); transform-origin: bottom; }
}

@media (max-width: 1050px) {
    .pm-showcase-grid {
        grid-template-columns: 1fr;
    }

    .pm-device-stage {
        min-height: 540px;
    }

    .pm-device-stage-art {
        min-height: 520px;
    }

    .pm-laptop-mockup {
        left: 0;
        right: auto;
    }

    .pm-module-strip {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 860px) {
    .pm-digital-showcase {
        padding-top: 52px;
        padding-bottom: 120px;
    }

    .pm-outcome-item {
        grid-template-columns: 34px 1fr;
        padding: 16px;
    }

    .pm-device-stage {
        min-height: 560px;
    }

    .pm-device-stage-art {
        min-height: auto;
        padding: 24px 0 58px;
    }

    .pm-dashboard-showcase-image {
        width: min(680px, 100%);
        border-radius: 22px;
    }

    .pm-dashboard-art-badge {
        min-height: 40px;
        padding: 8px 11px;
        font-size: .72rem;
        border-radius: 13px;
    }

    .pm-dashboard-art-badge-ai {
        left: 2%;
        top: 10%;
    }

    .pm-dashboard-art-badge-live {
        right: 2%;
        bottom: 8%;
    }

    .pm-laptop-mockup {
        position: relative;
        top: 0;
        width: 100%;
        transform: none;
    }

    .pm-laptop-screen {
        grid-template-columns: 1fr;
    }

    .pm-laptop-screen aside {
        grid-template-columns: repeat(2, 1fr);
    }

    .pm-module-strip {
        grid-template-columns: 1fr;
    }

    .pm-dashboard-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .pm-dashboard-cards article {
        min-height: 74px;
        padding: 8px;
    }

    .pm-dashboard-cards small {
        font-size: .58rem;
    }

    .pm-dashboard-cards strong {
        font-size: .92rem;
    }

    .pm-chart-panel {
        min-height: 100px;
        padding: 12px;
        gap: 8px;
    }

    .pm-workflow-board {
        grid-template-columns: repeat(2, 1fr);
    }

    .pm-phone-mockup {
        width: 154px;
        right: 12px;
        bottom: 16px;
        border-radius: 28px;
        padding: 10px;
    }

    .pm-phone-screen {
        min-height: 226px;
        border-radius: 20px;
        padding: 12px 8px;
    }

    .pm-phone-card {
        min-height: 42px;
        font-size: .66rem;
    }

    .pm-orbit-ring {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Step 4.2 — Brand slogan above navbar */
.pm-slogan-strip {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto 10px;
}

.pm-slogan-inner {
    min-height: 38px;
    padding: 8px 16px;
    border-radius: 999px;
    background:
        linear-gradient(135deg, rgba(79, 70, 229, .10), rgba(16, 185, 129, .10)),
        rgba(255, 255, 255, .88);
    border: 1px solid rgba(226, 232, 240, .95);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: center;
}

.pm-slogan-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--pm-primary);
    font-family: "Poppins", sans-serif;
    font-size: .95rem;
    font-weight: 900;
    letter-spacing: -.015em;
}

.pm-slogan-badge i {
    color: #f59e0b;
}

.pm-slogan-subtext {
    color: var(--pm-muted);
    font-size: .86rem;
    font-weight: 700;
}

@media (max-width: 860px) {
    .pm-slogan-inner {
        border-radius: 20px;
        flex-direction: column;
        gap: 4px;
        padding: 10px 14px;
    }

    .pm-slogan-badge {
        font-size: .88rem;
        line-height: 1.4;
    }

    .pm-slogan-subtext {
        font-size: .78rem;
        line-height: 1.4;
    }
}

/* Step 4.3 — Professional Footer Upgrade */
.pm-footer {
    position: relative;
    overflow: hidden;
    padding: 0 0 26px;
    background:
        radial-gradient(circle at top left, rgba(79, 70, 229, .22), transparent 30rem),
        radial-gradient(circle at top right, rgba(16, 185, 129, .16), transparent 28rem),
        #0f172a;
    color: #cbd5e1;
    margin-top: 76px;
}

.pm-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 36px 36px;
    pointer-events: none;
    opacity: .5;
}

.pm-footer > .pm-container {
    position: relative;
    z-index: 1;
}

.pm-footer-cta {
    transform: none;
    margin-bottom: 34px;
    padding: 28px;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(79, 70, 229, .96), rgba(37, 99, 235, .94)),
        #4f46e5;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
    display: grid;
    grid-template-columns: 1.3fr auto;
    align-items: center;
    gap: 24px;
    color: #fff;
}

.pm-footer-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.18);
    font-weight: 900;
    font-size: .82rem;
    margin-bottom: 12px;
}

.pm-footer-kicker i {
    color: #facc15;
}

.pm-footer-cta h2 {
    font-family: "Poppins", sans-serif;
    font-size: clamp(1.5rem, 3vw, 2.35rem);
    letter-spacing: -.04em;
    font-weight: 900;
    margin: 0 0 8px;
}

.pm-footer-cta p {
    color: rgba(255,255,255,.84);
    margin: 0;
    line-height: 1.7;
}

.pm-footer-cta-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.pm-btn-footer-light {
    color: #fff;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.22);
}

.pm-btn-footer-light:hover {
    color: #fff;
    background: rgba(255,255,255,.22);
    transform: translateY(-2px);
}

.pm-footer-grid-pro {
    display: grid;
    grid-template-columns: 1.55fr .78fr .86fr .72fr 1.05fr .9fr;
    gap: 26px;
    padding: 18px 0 28px;
    border-bottom: 1px solid rgba(148, 163, 184, .22);
}

.pm-footer-about p {
    color: #cbd5e1;
    line-height: 1.75;
    margin: 14px 0;
}

.pm-footer-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    margin-bottom: 12px;
}

.pm-footer-brand strong {
    display: block;
    font-family: "Poppins", sans-serif;
    font-size: 1.05rem;
    font-weight: 900;
}

.pm-footer-brand small {
    color: #94a3b8;
    font-weight: 700;
}

.pm-footer-leadership {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.pm-footer-leadership span {
    color: #94a3b8;
    line-height: 1.5;
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.pm-footer-leadership i {
    color: #818cf8;
    margin-top: 3px;
}

.pm-footer-social {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    flex-wrap: wrap;
}

.pm-footer-social a {
    width: 38px;
    height: 38px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.10);
    color: #e2e8f0;
    margin: 0;
    transition: .2s ease;
}

.pm-footer-social a:hover {
    background: #4f46e5;
    border-color: #4f46e5;
    color: #fff;
    transform: translateY(-2px);
}

.pm-footer-social a span {
    display: none;
}

.pm-footer h6 {
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-size: .98rem;
    font-weight: 900;
    margin: 0 0 16px;
}

.pm-footer h6::after {
    content: "";
    display: block;
    width: 34px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(135deg, #818cf8, #10b981);
    margin-top: 8px;
}

.pm-footer a,
.pm-footer span {
    color: #cbd5e1;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-bottom: 11px;
    line-height: 1.45;
    transition: .2s ease;
}

.pm-footer a i,
.pm-footer span i {
    width: 17px;
    color: #818cf8;
    margin-top: 3px;
}

.pm-footer a:hover {
    color: #fff;
    transform: translateX(3px);
}

.pm-footer-bottom-pro {
    padding-top: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    color: #94a3b8;
    font-size: .9rem;
}

.pm-footer-bottom-pro > span {
    margin-bottom: 0;
}

.pm-footer-bottom-social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.pm-footer-bottom-social a {
    align-items: center;
    gap: 7px;
    margin-bottom: 0;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.09);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1;
}

.pm-footer-bottom-social a i {
    margin-top: 0;
}

.pm-footer-bottom-social a:hover {
    transform: translateY(-2px);
    background: rgba(79,70,229,.28);
}

@media (max-width: 1180px) {
    .pm-footer-grid-pro {
        grid-template-columns: repeat(3, 1fr);
    }

    .pm-footer-about {
        grid-column: span 3;
    }
}

@media (max-width: 860px) {
    .pm-footer-cta {
        grid-template-columns: 1fr;
        text-align: center;
        transform: none;
    }

    .pm-footer-cta-actions {
        justify-content: center;
    }

    .pm-footer-grid-pro {
        grid-template-columns: 1fr;
    }

    .pm-footer-about {
        grid-column: span 1;
    }

    .pm-footer-bottom-pro {
        text-align: center;
        justify-content: center;
    }

    .pm-footer-bottom-social {
        justify-content: center;
    }
}

/* Homepage refinement pass */
body.pm-home-page .pm-slogan-strip {
    display: none;
}

body.pm-home-page .pm-topbar {
    padding: 10px 0;
    background: rgba(248, 250, 252, .9);
}

body.pm-home-page .pm-navbar {
    min-height: 66px;
    border-radius: 22px;
}

body.pm-home-page .pm-home-hero {
    padding-top: 64px;
}

body.pm-home-page .pm-title {
    max-width: 760px;
    letter-spacing: -0.035em;
}

body.pm-home-page .pm-lead {
    max-width: 680px;
    font-size: 1.08rem;
}

body.pm-home-page .pm-hero-panel {
    position: relative;
    overflow: hidden;
}

body.pm-home-page .pm-hero-panel::after {
    content: "";
    position: absolute;
    inset: auto 24px 18px 24px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--pm-primary), #06b6d4, var(--pm-success));
    opacity: .72;
}

body.pm-home-page .pm-home-flow {
    margin-top: 30px;
}

body.pm-home-page .pm-live-demo {
    margin-top: 24px;
    border-radius: 28px;
}

body.pm-home-page .pm-digital-showcase {
    padding-top: 84px;
}

body.pm-home-page .pm-conversion-suite {
    padding-top: 64px;
}

body.pm-home-page .pm-trust-strip {
    border-radius: 28px;
}

body.pm-home-page .pm-testimonial-card {
    background: #fff;
    border-radius: 18px;
}

body.pm-home-page .pm-home-features {
    padding: 78px 0 72px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.62), rgba(238,242,255,.48)),
        radial-gradient(circle at 18% 20%, rgba(79,70,229,.10), transparent 24rem),
        radial-gradient(circle at 84% 65%, rgba(16,185,129,.10), transparent 24rem);
}

body.pm-home-page .pm-home-features .pm-section-head {
    max-width: 800px;
    margin-bottom: 34px;
}

body.pm-home-page .pm-home-features .pm-grid-3 {
    gap: 18px;
}

body.pm-home-page .pm-feature-card {
    position: relative;
    min-height: 230px;
    padding: 28px;
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
    overflow: hidden;
}

body.pm-home-page .pm-feature-card::after {
    content: "";
    position: absolute;
    inset: auto -20% -46px -20%;
    height: 96px;
    background: linear-gradient(135deg, rgba(79,70,229,.12), rgba(16,185,129,.10));
    transform: rotate(-4deg);
}

body.pm-home-page .pm-feature-card i,
body.pm-home-page .pm-feature-card h3,
body.pm-home-page .pm-feature-card p {
    position: relative;
    z-index: 1;
}

body.pm-home-page .pm-feature-card h3 {
    font-weight: 950;
}

body.pm-home-page .pm-product-preview {
    position: relative;
    z-index: 1;
    margin: 16px 0 18px;
    padding: 12px;
    border: 1px solid rgba(199, 210, 254, .72);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(238, 242, 255, .88), rgba(255, 255, 255, .96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88);
}

body.pm-home-page .pm-preview-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    color: #4338ca;
    font-size: .78rem;
    font-weight: 950;
}

body.pm-home-page .pm-preview-topline span,
body.pm-home-page .pm-preview-topline strong {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

body.pm-home-page .pm-preview-topline strong {
    min-height: 26px;
    padding: 0 9px;
    border-radius: 999px;
    color: #047857;
    background: #dcfce7;
}

body.pm-home-page .pm-preview-screen {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
    overflow: hidden;
}

body.pm-home-page .pm-preview-sidebar {
    display: grid;
    gap: 8px;
    align-content: start;
    padding: 8px;
    border-radius: 15px;
    background: #0f172a;
}

body.pm-home-page .pm-preview-sidebar i {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #cbd5e1;
    background: rgba(255, 255, 255, .06);
    font-size: .86rem;
}

body.pm-home-page .pm-preview-sidebar i.active {
    color: #ffffff;
    background: linear-gradient(135deg, #4f46e5, #2563eb);
    box-shadow: 0 10px 20px rgba(79, 70, 229, .32);
}

body.pm-home-page .pm-preview-workspace {
    min-width: 0;
    display: grid;
    gap: 10px;
}

body.pm-home-page .pm-preview-toolbar,
body.pm-home-page .pm-preview-progress {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

body.pm-home-page .pm-preview-toolbar {
    justify-content: space-between;
}

body.pm-home-page .pm-preview-toolbar span,
body.pm-home-page .pm-preview-toolbar b {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.pm-home-page .pm-preview-toolbar span {
    color: #0f172a;
    font-weight: 950;
}

body.pm-home-page .pm-preview-toolbar b,
body.pm-home-page .pm-preview-progress span {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 9px;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: .72rem;
    font-weight: 950;
}

body.pm-home-page .pm-preview-progress span.done {
    color: #166534;
    background: #dcfce7;
}

body.pm-home-page .pm-preview-progress span.active {
    color: #3730a3;
    background: #eef2ff;
    animation: pmPreviewPulse 2.2s ease-in-out infinite;
}

body.pm-home-page .pm-preview-paper {
    position: relative;
    min-height: 112px;
    padding: 15px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(248, 250, 252, .72), rgba(255, 255, 255, .96)),
        repeating-linear-gradient(0deg, transparent 0 25px, rgba(226, 232, 240, .75) 26px 27px);
    overflow: hidden;
}

body.pm-home-page .pm-preview-paper::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 0 34%, rgba(79, 70, 229, .10) 48%, transparent 62%);
    animation: pmPreviewSweep 3.6s ease-in-out infinite;
}

body.pm-home-page .pm-preview-paper strong,
body.pm-home-page .pm-preview-paper span {
    position: relative;
    z-index: 1;
    display: block;
}

body.pm-home-page .pm-preview-paper strong {
    margin-bottom: 14px;
    color: #0f172a;
    font-size: .92rem;
}

body.pm-home-page .pm-preview-paper span {
    height: 9px;
    width: 92%;
    margin-top: 9px;
    border-radius: 999px;
    background: #dbeafe;
}

body.pm-home-page .pm-preview-paper span.short {
    width: 64%;
    background: #c7d2fe;
}

body.pm-home-page .pm-feature-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 1;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    color: #3730a3;
    background: #eef2ff;
    font-size: .72rem;
    font-weight: 950;
}

body.pm-home-page .pm-feature-card:hover .pm-feature-badge {
    color: #ffffff;
    background: #4f46e5;
}

body.pm-home-page .pm-home-features .pm-feature-card {
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body.pm-home-page .pm-home-features .pm-feature-card:hover {
    border-color: rgba(79, 70, 229, .32);
    box-shadow: 0 24px 54px rgba(79, 70, 229, .14);
}

html.js body.pm-home-page .pm-home-features.is-visible .pm-feature-card {
    animation: pmFeatureRise .58s ease both;
}

html.js body.pm-home-page .pm-home-features.is-visible .pm-feature-card:nth-child(2) { animation-delay: .06s; }
html.js body.pm-home-page .pm-home-features.is-visible .pm-feature-card:nth-child(3) { animation-delay: .12s; }
html.js body.pm-home-page .pm-home-features.is-visible .pm-feature-card:nth-child(4) { animation-delay: .18s; }
html.js body.pm-home-page .pm-home-features.is-visible .pm-feature-card:nth-child(5) { animation-delay: .24s; }
html.js body.pm-home-page .pm-home-features.is-visible .pm-feature-card:nth-child(6) { animation-delay: .30s; }

@keyframes pmPreviewSweep {
    0%, 42% { transform: translateX(-110%); }
    68%, 100% { transform: translateX(110%); }
}

@keyframes pmPreviewPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(79, 70, 229, 0); }
    50% { box-shadow: 0 0 0 5px rgba(79, 70, 229, .12); }
}

@keyframes pmFeatureRise {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

body.pm-home-page .pm-footer {
    margin-top: 0;
    padding-top: 44px;
}

body.pm-home-page .pm-footer-cta {
    transform: none;
    margin-bottom: 34px;
}

/* Public FAQ and Contact screen upgrades */
.pm-public-page {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 34%, #ffffff 100%);
}

.pm-public-hero {
    position: relative;
    padding: 74px 0 58px;
    overflow: hidden;
    border-bottom: 1px solid rgba(226, 232, 240, .72);
}

.pm-public-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(79, 70, 229, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 70, 229, .035) 1px, transparent 1px);
    background-size: 56px 56px;
    pointer-events: none;
}

.pm-public-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .88fr);
    align-items: center;
    gap: 52px;
}

.pm-public-hero-copy h1 {
    margin: 0;
    max-width: 720px;
    font-family: "Poppins", sans-serif;
    font-size: clamp(2.65rem, 5vw, 5.3rem);
    line-height: 1.02;
    font-weight: 900;
    color: #111827;
}

.pm-public-hero-copy h1 span {
    display: block;
    color: #2563eb;
}

.pm-public-hero-copy p {
    max-width: 650px;
    margin: 24px 0 0;
    color: var(--pm-muted);
    font-size: 1.05rem;
    line-height: 1.82;
}

.pm-public-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.pm-public-chip-row a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: #0f172a;
    font-weight: 800;
    font-size: .88rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.pm-public-chip-row a i {
    color: #2563eb;
    font-size: .78rem;
}

.pm-public-chip-row a:hover {
    border-color: rgba(37, 99, 235, .34);
    color: #2563eb;
    transform: translateY(-2px);
}

.pm-public-hero-art {
    position: relative;
    min-height: 360px;
}

.pm-public-visual {
    position: relative;
    margin: 0;
    isolation: isolate;
}

.pm-public-visual::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 1%;
    height: 36px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .18);
    filter: blur(22px);
    z-index: -1;
}

.pm-public-visual img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 24px;
    filter: drop-shadow(0 28px 34px rgba(15, 23, 42, .16));
}

.pm-public-visual-wide {
    max-width: 1120px;
    margin: -6px auto 34px;
}

.pm-public-visual-wide img {
    border: 1px solid rgba(226, 232, 240, .72);
}

.pm-public-visual-hero {
    grid-column: 1 / -1;
    width: min(1160px, 100%);
    margin: 14px auto 0;
    justify-self: center;
}

.pm-about-hero-grid .pm-public-visual-hero {
    grid-column: 1 / -1;
    width: min(1160px, 100%);
}

.pm-public-visual-community {
    max-width: 1020px;
    margin: 30px auto 0;
}

.pmc-hero .pm-public-visual {
    color: #0f172a;
}

.pm-float-card,
.pm-response-badge {
    position: absolute;
    width: min(260px, 82%);
    padding: 20px;
    border: 1px solid rgba(226, 232, 240, .92);
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 24px 64px rgba(15, 23, 42, .08);
}

.pm-float-card span,
.pm-contact-card span,
.pm-response-badge i {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef2ff;
    color: #2563eb;
}

.pm-float-card strong,
.pm-contact-card h2,
.pm-response-badge strong {
    display: block;
    margin-top: 12px;
    color: #0f172a;
    font-weight: 900;
}

.pm-float-card small,
.pm-contact-card p,
.pm-response-badge small {
    display: block;
    margin-top: 7px;
    color: var(--pm-muted);
    line-height: 1.55;
}

.pm-float-card-one {
    top: 10px;
    left: 8%;
}

.pm-float-card-two {
    top: 74px;
    right: 0;
}

.pm-float-card-three {
    right: 12%;
    bottom: 12px;
}

.pm-contact-hero-art .pm-float-card-one {
    left: 2%;
    top: 22px;
}

.pm-contact-hero-art .pm-float-card-two {
    right: 0;
    top: 46px;
}

.pm-response-badge {
    left: 38%;
    top: 148px;
    width: 132px;
    text-align: center;
    padding: 18px 14px;
}

.pm-response-badge i {
    margin: 0 auto;
    background: #eff6ff;
    font-size: 1.1rem;
}

.pm-response-badge strong {
    margin-top: 10px;
    color: #2563eb;
    font-size: 1.55rem;
    line-height: 1;
}

.pm-response-badge small {
    text-transform: uppercase;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.pm-public-content {
    padding: 26px 0 76px;
}

.pm-faq-panel {
    width: min(760px, 100%);
    margin: 0 auto;
}

.pm-faq-accordion-upgrade {
    width: 100%;
    gap: 0;
}

.pm-faq-group {
    margin-top: 34px;
    scroll-margin-top: 130px;
}

.pm-faq-group h2,
.pm-contact-form-wrap h2 {
    margin: 0 0 20px;
    color: #2563eb;
    font-family: "Poppins", sans-serif;
    font-size: 1.15rem;
    font-weight: 900;
}

.pm-faq-row {
    margin-bottom: 12px;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .035);
}

.pm-faq-accordion-upgrade .accordion-collapse.collapse:not(.show) {
    display: none;
}

.pm-faq-row .pm-faq-button {
    min-height: 58px;
    padding: 17px 22px;
    background: #fff;
    color: #0f172a;
    font-weight: 900;
    font-size: .95rem;
}

.pm-faq-row .pm-faq-button:not(.collapsed) {
    background: #fff;
    color: #2563eb;
}

.pm-faq-row .pm-faq-button::after {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #f8fafc;
    background-position: center;
    background-size: 14px;
}

.pm-faq-row .pm-faq-body {
    padding: 0 22px 20px;
    color: #64748b;
    line-height: 1.78;
}

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

.pm-contact-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 56px;
}

.pm-contact-card {
    min-height: 172px;
    padding: 26px 22px;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .045);
}

.pm-contact-card h2 {
    margin-bottom: 6px;
    color: #2563eb;
    font-size: .98rem;
}

.pm-contact-card strong {
    display: block;
    color: #0f172a;
    font-size: .84rem;
    line-height: 1.45;
    overflow-wrap: break-word;
}

.pm-contact-form-wrap {
    width: min(760px, 100%);
    margin: 0 auto;
}

.pm-contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 22px;
}

.pm-contact-form .pm-label {
    color: #2563eb;
    font-weight: 800;
    font-size: .86rem;
}

.pm-contact-form .pm-input,
.pm-contact-form .pm-select,
.pm-contact-form .pm-textarea {
    border-radius: 8px;
    min-height: 44px;
    box-shadow: none;
}

.pm-contact-form .pm-textarea {
    min-height: 112px;
}

.pm-form-group-wide {
    grid-column: 1 / -1;
}

.pm-contact-form .pm-btn {
    min-width: 168px;
    justify-content: center;
    border-radius: 8px;
}

.pm-public-page + .pm-footer,
.pm-public-page ~ .pm-footer {
    margin-top: 0;
}

@media (max-width: 991px) {
    .pm-public-hero {
        padding: 58px 0 42px;
    }

    .pm-public-hero-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .pm-public-hero-art {
        min-height: 300px;
    }

    .pm-public-visual-wide {
        margin-bottom: 28px;
    }

    .pm-public-visual-hero {
        width: min(1040px, 100%);
        margin-top: 6px;
    }

    .pm-contact-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .pm-public-hero-copy h1 {
        font-size: clamp(2.2rem, 14vw, 3.2rem);
    }

    .pm-public-chip-row a {
        flex: 1 1 calc(50% - 8px);
        justify-content: center;
        text-align: center;
    }

    .pm-public-hero-art {
        display: grid;
        gap: 12px;
        min-height: 0;
    }

    .pm-public-visual img {
        border-radius: 16px;
    }

    .pm-public-visual-wide {
        margin: 0 auto 24px;
    }

    .pm-public-visual-community {
        margin-top: 22px;
    }

    .pm-float-card,
    .pm-response-badge {
        position: static;
        width: 100%;
    }

    .pm-response-badge {
        text-align: left;
    }

    .pm-response-badge i {
        margin: 0;
    }

    .pm-contact-card-grid,
    .pm-contact-form {
        grid-template-columns: 1fr;
    }

    .pm-faq-actions .pm-btn,
    .pm-contact-form .pm-btn {
        width: 100%;
    }
}

body.pm-home-page .pm-sticky-cta {
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

body.pm-home-page .pm-sticky-cta.is-hidden {
    opacity: 0;
    transform: translateY(18px);
    visibility: hidden;
    pointer-events: none;
}

body.pm-home-page .pm-conversion-suite.pm-reveal {
    opacity: 1;
    transform: none;
}

@media (max-width: 1050px) {
    body.pm-home-page .pm-home-hero {
        padding-top: 42px;
    }
}

@media (max-width: 860px) {
    body.pm-home-page .pm-topbar {
        padding: 8px 0;
    }

    body.pm-home-page .pm-title {
        letter-spacing: 0;
    }

    body.pm-home-page .pm-home-features {
        padding-bottom: 112px;
    }

    body.pm-home-page .pm-product-preview {
        margin-top: 12px;
        padding: 10px;
        border-radius: 18px;
    }

    body.pm-home-page .pm-preview-screen {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 9px;
        padding: 9px;
        border-radius: 16px;
    }

    body.pm-home-page .pm-preview-sidebar {
        padding: 6px;
    }

    body.pm-home-page .pm-preview-sidebar i {
        width: 28px;
        height: 28px;
        border-radius: 10px;
    }

    body.pm-home-page .pm-preview-paper {
        min-height: 96px;
        padding: 12px;
    }

    body.pm-home-page .pm-feature-badge {
        position: static;
        width: max-content;
        margin: 0 0 12px;
    }
}

/* Homepage smart paper journey replacement */
.pm-paper-journey-head {
    max-width: 940px;
}

.pm-paper-journey {
    display: grid;
    gap: 22px;
}

.pm-paper-journey-map {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.pm-paper-journey-map::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 54px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #818cf8, #22d3ee, #34d399);
    opacity: .55;
}

.pm-paper-journey-map article {
    position: relative;
    min-height: 245px;
    padding: 26px;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.9));
    box-shadow: 0 22px 52px rgba(0,0,0,.18);
}

.pm-paper-journey-map article.active {
    background:
        linear-gradient(180deg, rgba(238,242,255,.98), rgba(255,255,255,.94));
    border-color: rgba(129,140,248,.72);
}

.pm-paper-journey-map article > span {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: #eef2ff;
    color: #4f46e5;
    font-family: "Poppins", sans-serif;
    font-size: 1.1rem;
    font-weight: 950;
    box-shadow: 0 12px 28px rgba(79,70,229,.18);
}

.pm-paper-journey-map article > i {
    position: absolute;
    right: 22px;
    top: 29px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    color: #0ea5e9;
    background: #ecfeff;
}

.pm-paper-journey-map h3 {
    margin: 28px 0 10px;
    color: #0f172a;
    font-family: "Poppins", sans-serif;
    font-size: 1.08rem;
    font-weight: 950;
}

.pm-paper-journey-map p {
    margin: 0;
    color: #475569;
    line-height: 1.72;
}

.pm-paper-preview-card {
    display: grid;
    grid-template-columns: .74fr 1.26fr .7fr;
    align-items: center;
    gap: 22px;
    padding: 24px;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 26px;
    background:
        radial-gradient(circle at 14% 0%, rgba(34,211,238,.12), transparent 22rem),
        linear-gradient(135deg, rgba(15,23,42,.96), rgba(30,41,59,.9));
    box-shadow: 0 24px 60px rgba(0,0,0,.26);
}

.pm-paper-preview-top {
    display: grid;
    gap: 12px;
    color: #e2e8f0;
}

.pm-paper-preview-top span,
.pm-paper-preview-top strong {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    padding: 11px 14px;
    border-radius: 999px;
    font-weight: 900;
}

.pm-paper-preview-top span {
    background: rgba(255,255,255,.11);
}

.pm-paper-preview-top strong {
    color: #bbf7d0;
    background: rgba(16,185,129,.16);
}

.pm-paper-preview-sheet {
    padding: 22px;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 28px 60px rgba(0,0,0,.32);
}

.pm-paper-preview-line {
    width: 72%;
    height: 10px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: #dbeafe;
}

.pm-paper-preview-line.is-wide {
    width: 100%;
    height: 14px;
    background: linear-gradient(90deg, #4f46e5, #0ea5e9);
}

.pm-paper-preview-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin: 18px 0;
}

.pm-paper-preview-grid span {
    padding: 9px 8px;
    border-radius: 10px;
    color: #4f46e5;
    background: #eef2ff;
    font-size: .75rem;
    font-weight: 900;
    text-align: center;
}

.pm-paper-preview-question {
    display: grid;
    grid-template-columns: 46px 1fr;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
}

.pm-paper-preview-question b {
    padding: 8px;
    border-radius: 10px;
    color: #0f172a;
    background: #f1f5f9;
    text-align: center;
}

.pm-paper-preview-question span {
    height: 11px;
    border-radius: 999px;
    background: #e2e8f0;
}

.pm-paper-ready-pills {
    display: grid;
    gap: 12px;
}

.pm-paper-ready-pills span {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 15px;
    color: #e0f2fe;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.12);
    font-weight: 900;
}

.pm-paper-ready-pills i {
    color: #67e8f9;
}

.pm-paper-journey-footer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.pm-paper-journey-footer div {
    min-height: 150px;
    padding: 22px;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 46px rgba(0,0,0,.14);
}

.pm-paper-journey-footer i {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    border-radius: 14px;
    color: #4f46e5;
    background: #eef2ff;
}

.pm-paper-journey-footer strong {
    display: block;
    margin-bottom: 8px;
    color: #0f172a;
    font-family: "Poppins", sans-serif;
    font-weight: 950;
}

.pm-paper-journey-footer span {
    display: block;
    color: #475569;
    line-height: 1.65;
}

@media (max-width: 1100px) {
    .pm-paper-journey-map {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pm-paper-preview-card,
    .pm-paper-journey-footer {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .pm-paper-journey-map {
        grid-template-columns: 1fr;
    }

    .pm-paper-journey-map::before {
        display: none;
    }

    .pm-paper-journey-map article {
        min-height: auto;
        padding: 22px;
    }

    .pm-paper-preview-card {
        padding: 18px;
    }

    .pm-paper-preview-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* About page reference layout */
body.pm-about-page {
    background: #ffffff;
}

body.pm-about-page .pm-slogan-strip {
    display: none;
}

body.pm-about-page .pm-topbar {
    padding: 10px 0;
    background: rgba(255, 255, 255, .9);
}

body.pm-about-page .pm-navbar {
    min-height: 66px;
    border-radius: 20px;
}

.pm-about {
    overflow: hidden;
    background:
        linear-gradient(180deg, #ffffff 0%, #f8fbff 56%, #ffffff 100%);
}

.pm-about-hero {
    padding: 64px 0 46px;
}

.pm-about-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(310px, .92fr);
    align-items: center;
    gap: 48px;
    min-height: 360px;
}

.pm-about-hero-copy h1 {
    max-width: 820px;
    margin: 18px 0;
    font-family: "Poppins", sans-serif;
    font-size: clamp(2.35rem, 5vw, 4.9rem);
    font-weight: 900;
    line-height: .98;
    letter-spacing: 0;
    color: #111827;
}

.pm-about-hero-copy h1 span {
    display: block;
    color: #2563eb;
}

.pm-about-hero-copy p {
    max-width: 640px;
    color: #64748b;
    font-size: 1.02rem;
    line-height: 1.9;
    margin: 0;
}

.pm-about-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.pm-about-mini-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 24px;
    color: #64748b;
    font-size: .82rem;
    font-weight: 700;
}

.pm-about-mini-stats i {
    color: #2563eb;
    font-size: .38rem;
    margin-right: 7px;
    vertical-align: middle;
}

.pm-about-stat-cloud {
    position: relative;
    min-height: 340px;
}

.pm-about-stat-cloud::before {
    content: "";
    position: absolute;
    inset: 54px 34px 34px;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(37, 99, 235, .08), rgba(14, 165, 233, .06)),
        repeating-linear-gradient(90deg, rgba(37, 99, 235, .08) 0 1px, transparent 1px 74px),
        repeating-linear-gradient(0deg, rgba(37, 99, 235, .06) 0 1px, transparent 1px 58px);
}

.pm-about-floating-card {
    position: absolute;
    width: 160px;
    padding: 17px 18px 16px;
    border: 1px solid rgba(191, 219, 254, .92);
    border-radius: 13px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}

.pm-about-floating-card::after {
    content: "";
    display: block;
    height: 4px;
    margin-top: 11px;
    border-radius: 999px;
    background: #2563eb;
}

.pm-about-floating-card i {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    border-radius: 10px;
    color: #2563eb;
    background: #eff6ff;
}

.pm-about-floating-card small {
    display: block;
    color: #94a3b8;
    text-transform: uppercase;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .14em;
}

.pm-about-floating-card strong {
    display: block;
    margin-top: 2px;
    color: #0f172a;
    font-family: "Poppins", sans-serif;
    font-size: 1.42rem;
    line-height: 1;
}

.pm-about-floating-card.is-top {
    top: 16px;
    right: 70px;
}

.pm-about-floating-card.is-middle {
    left: 48px;
    top: 174px;
}

.pm-about-floating-card.is-bottom {
    right: 28px;
    bottom: 22px;
}

.pm-about-mission-banner {
    padding: 0 0 58px;
}

.pm-about-photo-band {
    min-height: 430px;
    overflow: hidden;
    box-shadow: 0 22px 55px rgba(15, 23, 42, .12);
    background:
        linear-gradient(180deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .18)),
        url("../images/about/pakistan-cities-mission-vision-day.webp") center / cover no-repeat,
        linear-gradient(135deg, #94a3b8 0%, #475569 35%, #1e3a8a 58%, #f97316 100%);
}

.pm-about-band-content {
    padding: 38px 0 0;
}

.pm-about-band-title {
    max-width: 1100px;
    margin: 0 auto 28px;
    font-family: "Poppins", sans-serif;
    font-size: clamp(3.5rem, 8vw, 6.7rem);
    font-weight: 900;
    line-height: .92;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: #0f172a;
}

.pm-about-value-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.pm-about-value-grid article {
    min-height: 160px;
    padding: 28px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .06);
}

.pm-about-value-grid i {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    border-radius: 50%;
    background: #eef2ff;
    color: #2563eb;
}

.pm-about-value-grid h3,
.pm-about-team-card h3,
.pm-about-honor-card h3 {
    font-family: "Poppins", sans-serif;
    font-weight: 900;
}

.pm-about-value-grid h3 {
    margin: 0 0 9px;
    color: #0f172a;
    font-size: 1.07rem;
}

.pm-about-value-grid p {
    margin: 0;
    color: #475569;
    font-size: .9rem;
    line-height: 1.75;
}

.pm-about-story,
.pm-about-team,
.pm-about-honors {
    padding: 58px 0;
}

.pm-about-section-head {
    max-width: 760px;
    margin: 0 auto 50px;
    text-align: center;
}

.pm-about-section-head span {
    display: inline-block;
    margin-bottom: 12px;
    color: #2563eb;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.pm-about-section-head h2 {
    margin: 0 0 14px;
    font-family: "Poppins", sans-serif;
    font-size: clamp(2rem, 3.4vw, 3.05rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0;
    color: #2563eb;
}

.pm-about-section-head p {
    margin: 0;
    color: #64748b;
    line-height: 1.9;
}

.pm-about-metric-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding: 32px 0 18px;
}

.pm-about-metric-row div {
    min-height: 128px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 8px;
    border-right: 1px solid #e2e8f0;
    text-align: center;
}

.pm-about-metric-row div:last-child {
    border-right: 0;
}

.pm-about-metric-row i {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    color: #2563eb;
    background: #eff6ff;
}

.pm-about-metric-row strong {
    font-family: "Poppins", sans-serif;
    font-size: 2.65rem;
    line-height: .95;
    color: #0f172a;
}

.pm-about-metric-row span {
    color: #64748b;
    font-size: .73rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pm-about-team {
    background: #fbfdff;
}

.pm-about-team-group {
    margin-top: 78px;
}

.pm-about-section-head + .pm-about-team-group {
    margin-top: 0;
}

.pm-about-team-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 54px;
    border-top: 1px solid #dbeafe;
}

.pm-about-team-label span {
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border-radius: 999px;
    color: #2563eb;
    background: #dbeafe;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    white-space: nowrap;
}

.pm-about-team-label small {
    color: #64748b;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.pm-about-team-grid {
    display: grid;
    gap: 72px 28px;
}

.pm-about-team-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pm-about-team-grid-four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pm-about-team-card {
    position: relative;
    min-height: 164px;
    padding: 76px 22px 26px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 22px 50px rgba(15, 23, 42, .06);
    text-align: center;
}

.pm-about-avatar {
    position: absolute;
    left: 50%;
    top: -46px;
    width: 112px;
    height: 112px;
    padding: 6px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .22);
}

.pm-about-avatar img,
.pm-about-avatar span {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.pm-about-avatar img {
    object-fit: cover;
}

.pm-about-avatar span {
    color: #ffffff;
    background: linear-gradient(135deg, #0f172a, #2563eb);
    font-family: "Poppins", sans-serif;
    font-size: 2rem;
    font-weight: 900;
}

.pm-about-team-card h3 {
    margin: 0 0 7px;
    color: #0f172a;
    font-size: 1.04rem;
}

.pm-about-team-card p {
    margin: 0 auto;
    max-width: 260px;
    color: #2563eb;
    font-size: .86rem;
    line-height: 1.55;
}

.pm-about-honor-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.pm-about-honor-card {
    min-height: 190px;
    padding: 30px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 20px 44px rgba(15, 23, 42, .06);
}

.pm-about-honor-card i {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border-radius: 11px;
    color: #2563eb;
    background: #eff6ff;
}

.pm-about-honor-card h3 {
    margin: 0 0 12px;
    color: #2563eb;
    font-size: .98rem;
}

.pm-about-honor-card p {
    margin: 0;
    color: #64748b;
    font-size: .9rem;
    line-height: 1.75;
}

.pm-about-cta {
    padding: 78px 0;
    background: #2563eb;
    color: #ffffff;
    text-align: center;
}

.pm-about-cta h2 {
    margin: 0 0 14px;
    font-family: "Poppins", sans-serif;
    font-size: clamp(2rem, 4vw, 3.15rem);
    font-weight: 900;
    letter-spacing: 0;
}

.pm-about-cta p {
    margin: 0 auto 28px;
    max-width: 640px;
    color: rgba(255, 255, 255, .86);
    line-height: 1.75;
}

.pm-about-cta-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
}

.pm-btn-outline-white {
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, .62);
    background: transparent;
}

.pm-btn-outline-white:hover {
    color: #2563eb;
    background: #ffffff;
}

body.pm-about-page .pm-footer {
    margin-top: 0;
    padding-top: 44px;
}

@media (max-width: 1020px) {
    .pm-about-hero-grid,
    .pm-about-value-grid,
    .pm-about-team-grid,
    .pm-about-honor-grid {
        grid-template-columns: 1fr 1fr;
    }

    .pm-about-stat-cloud {
        min-height: 300px;
    }

    .pm-about-metric-row {
        grid-template-columns: repeat(2, 1fr);
    }

    .pm-about-metric-row div:nth-child(2) {
        border-right: 0;
    }
}

@media (max-width: 760px) {
    .pm-about-hero {
        padding-top: 42px;
    }

    .pm-about-hero-grid,
    .pm-about-value-grid,
    .pm-about-team-grid,
    .pm-about-honor-grid {
        grid-template-columns: 1fr;
    }

    .pm-about-hero-copy h1 {
        font-size: clamp(2.1rem, 11vw, 3.2rem);
    }

    .pm-about-stat-cloud {
        min-height: 360px;
    }

    .pm-about-floating-card.is-top {
        right: 12px;
    }

    .pm-about-floating-card.is-middle {
        left: 0;
    }

    .pm-about-floating-card.is-bottom {
        right: 0;
    }

    .pm-about-photo-band {
        min-height: 300px;
        background:
            linear-gradient(180deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .18)),
            url("../images/about/pakistan-cities-mission-vision-day.webp") center top / cover no-repeat,
            linear-gradient(135deg, #94a3b8 0%, #475569 35%, #1e3a8a 58%, #f97316 100%);
    }

    .pm-about-band-title {
        font-size: clamp(2.5rem, 16vw, 4.3rem);
    }

    .pm-about-story,
    .pm-about-team,
    .pm-about-honors {
        padding: 44px 0;
    }

    .pm-about-metric-row {
        grid-template-columns: 1fr;
    }

    .pm-about-metric-row div {
        border-right: 0;
        border-bottom: 1px solid #e2e8f0;
    }

    .pm-about-metric-row div:last-child {
        border-bottom: 0;
    }

    .pm-about-team-label {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
        margin-bottom: 62px;
    }

    .pm-about-team-label small {
        align-self: flex-end;
    }

    .pm-about-cta {
        padding: 58px 0;
    }
}

@media (max-width: 560px) {
    body {
        padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
    }

    .pm-mobile-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1100;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        min-height: calc(64px + env(safe-area-inset-bottom, 0px));
        padding: 7px 8px calc(7px + env(safe-area-inset-bottom, 0px));
        border-top: 1px solid rgba(226, 232, 240, .94);
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 -16px 38px rgba(15, 23, 42, .12);
    }

    .pm-mobile-bottom-nav a {
        min-width: 0;
        min-height: 50px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 3px;
        border-radius: 13px;
        color: #64748b;
        font-size: .68rem;
        font-weight: 900;
        text-decoration: none;
    }

    .pm-mobile-bottom-nav a i {
        font-size: 1rem;
    }

    .pm-mobile-bottom-nav a.active,
    .pm-mobile-bottom-nav a:hover {
        color: var(--pm-primary);
        background: var(--pm-primary-soft);
    }

    .pm-footer {
        margin-bottom: 0;
        padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
    }

    .pm-footer-cta {
        margin-bottom: 18px;
        padding: 18px;
        border-radius: 22px;
    }

    .pm-footer-cta h2 {
        font-size: 1.16rem;
        line-height: 1.22;
    }

    .pm-footer-cta p,
    .pm-footer-kicker {
        display: none;
    }

    .pm-footer-cta-actions {
        gap: 10px;
    }

    .pm-footer-cta-actions .pm-btn {
        width: 100%;
        justify-content: center;
        min-height: 48px;
    }

    .pm-input,
    .pm-select,
    .pm-textarea,
    input,
    select,
    textarea {
        font-size: 16px;
    }

    .pm-install-prompt {
        grid-template-columns: 42px 1fr 38px;
        bottom: calc(82px + env(safe-area-inset-bottom, 0px));
    }

    .pm-install-icon {
        width: 42px;
        height: 42px;
    }

    .pm-install-action {
        grid-column: 2 / 4;
        width: 100%;
        min-height: 44px;
    }

    .pm-install-close {
        width: 38px;
        min-height: 38px;
    }
}

/* Step 29 - mobile and tablet responsive stabilization */
img,
svg,
video,
canvas {
    max-width: 100%;
}

.pm-card,
.pm-feature-card,
.pm-pricing-card,
.pm-public-feature-card,
.pm-about-honor-card,
.pm-dashboard-card,
.pm-paper-card,
.pm-testimonial-card {
    min-width: 0;
}

.pm-card *,
.pm-feature-card *,
.pm-pricing-card *,
.pm-public-feature-card *,
.pm-about-honor-card *,
.pm-dashboard-card *,
.pm-paper-card * {
    overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
    .pm-container,
    .container {
        max-width: 100%;
    }
}

@media (max-width: 860px) {
    .pm-topbar,
    body.pm-home-page .pm-topbar,
    body.pm-about-page .pm-topbar {
        position: sticky;
        top: 0;
        z-index: 1060;
        padding: 10px 0;
    }

    .pm-header,
    .pm-navbar,
    .pm-nav {
        min-width: 0;
    }

    .pm-nav {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .pm-nav::-webkit-scrollbar {
        display: none;
    }

    .pm-hero,
    .pm-section,
    .pm-about-hero,
    .pm-about-story,
    .pm-about-team,
    .pm-about-honors,
    .pm-about-cta {
        padding-left: max(16px, env(safe-area-inset-left, 0px));
        padding-right: max(16px, env(safe-area-inset-right, 0px));
    }

    .pm-hero h1,
    .pm-home-hero h1,
    .pm-about-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(2.2rem, 12vw, 4.2rem);
        line-height: 1.02;
    }
}

@media (max-width: 640px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .pm-container,
    .container {
        width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }

    .row {
        margin-left: -8px;
        margin-right: -8px;
    }

    .row > * {
        padding-left: 8px;
        padding-right: 8px;
    }

    .pm-btn,
    .btn,
    button,
    [type="button"],
    [type="submit"],
    .pm-mobile-bottom-nav a {
        min-height: 44px;
    }

    .pm-btn,
    .btn {
        white-space: normal;
        text-align: center;
    }

    .pm-card,
    .pm-feature-card,
    .pm-pricing-card,
    .pm-public-feature-card,
    .pm-about-honor-card,
    .pm-dashboard-card,
    .pm-paper-card {
        padding: 18px;
        border-radius: 18px;
    }

    .pm-footer {
        padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px));
    }
}

@media (max-width: 560px) {
    .pm-mobile-bottom-nav {
        z-index: 1180;
    }

    .pm-mobile-bottom-nav a span {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* Step 30 - mobile-first product polish */
:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .34);
    outline-offset: 3px;
}

.pm-btn,
.btn,
button,
[type="button"],
[type="submit"],
a.pm-nav-link,
.pm-mobile-bottom-nav a {
    -webkit-tap-highlight-color: transparent;
}

.pm-btn,
.btn {
    justify-content: center;
    line-height: 1.25;
}

input,
select,
textarea,
.form-control,
.form-select,
.pm-input,
.pm-select,
.pm-textarea {
    min-height: 44px;
    border-color: var(--pm-border);
    border-radius: 12px;
}

textarea,
.pm-textarea {
    min-height: 112px;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus,
.pm-input:focus,
.pm-select:focus,
.pm-textarea:focus {
    border-color: rgba(37, 99, 235, .58);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

.table-responsive,
.pm-table-wrap {
    border-radius: 14px;
    -webkit-overflow-scrolling: touch;
}

table {
    vertical-align: middle;
}

thead th {
    color: #334155;
    font-size: .78rem;
    letter-spacing: .02em;
    text-transform: uppercase;
}

@media (max-width: 860px) {
    body.pm-nav-open::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 1050;
        background: rgba(15, 23, 42, .38);
        backdrop-filter: blur(4px);
    }

    .pm-topbar {
        background: rgba(248, 250, 252, .94);
    }

    .pm-navbar {
        position: relative;
        z-index: 1061;
        width: min(100% - 24px, 1180px);
        border-radius: 18px;
    }

    .pm-nav-menu {
        gap: 8px;
        padding: 12px 0 2px;
    }

    .pm-nav-menu.show {
        animation: pmMobileMenuIn .18s ease-out;
    }

    .pm-nav-link,
    .pm-nav-cta {
        width: 100%;
        min-height: 48px;
        padding: 12px 14px;
        border: 1px solid rgba(226, 232, 240, .88);
        border-radius: 12px;
        background: #ffffff;
        justify-content: flex-start;
    }

    .pm-nav-link::after {
        display: none;
    }

    .pm-nav-link.active {
        border-color: rgba(37, 99, 235, .26);
        background: var(--pm-primary-soft);
    }

    .pm-nav-cta {
        justify-content: center;
    }

    .pm-hero {
        padding-top: 36px;
        padding-bottom: 42px;
    }

    .pm-hero-actions,
    .pm-footer-cta-actions,
    .pm-about-cta-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .pm-hero-actions .pm-btn,
    .pm-footer-cta-actions .pm-btn,
    .pm-about-cta-actions .pm-btn {
        width: 100%;
    }

    .pm-lead,
    .pm-about-hero-copy p {
        font-size: 1rem;
        line-height: 1.75;
    }

    .pm-stat-row,
    .pm-grid-4,
    .pm-kpi-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .pm-footer-grid,
    .pm-footer-grid-pro {
        grid-template-columns: 1fr 1fr;
        gap: 22px;
    }

    .pm-footer-cta {
        grid-template-columns: 1fr;
        text-align: left;
    }
}

@media (max-width: 640px) {
    .pm-container,
    .container {
        padding-left: max(16px, env(safe-area-inset-left, 0px));
        padding-right: max(16px, env(safe-area-inset-right, 0px));
    }

    .pm-topbar {
        padding: 8px 0;
    }

    .pm-slogan-strip {
        display: none;
    }

    .pm-navbar {
        width: min(100% - 20px, 1180px);
        min-height: 58px;
        padding: 8px 10px;
        border-radius: 16px;
    }

    .pm-brand-icon {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    .pm-brand strong {
        font-size: .98rem;
    }

    .pm-brand small {
        font-size: .7rem;
    }

    .pm-nav-toggle {
        width: 42px;
        height: 42px;
        border-radius: 12px;
    }

    .pm-title,
    .pm-hero h1,
    .pm-home-hero h1,
    .pm-about-hero-copy h1 {
        font-size: clamp(2rem, 10.5vw, 3.25rem);
        letter-spacing: 0;
        line-height: 1.05;
    }

    .pm-typewriter-title {
        min-height: auto;
    }

    .pm-kicker {
        max-width: 100%;
        align-items: flex-start;
        border-radius: 12px;
        font-size: .78rem;
        line-height: 1.35;
    }

    .pm-stat-row,
    .pm-grid-4,
    .pm-kpi-grid,
    .pm-footer-grid,
    .pm-footer-grid-pro {
        grid-template-columns: 1fr;
    }

    .pm-mobile-bottom-nav {
        left: 10px;
        right: 10px;
        bottom: 10px;
        border: 1px solid rgba(226, 232, 240, .94);
        border-radius: 18px;
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 -10px 34px rgba(15, 23, 42, .16);
    }

    .pm-mobile-bottom-nav a {
        border-radius: 13px;
        transition: background .18s ease, color .18s ease, transform .18s ease;
    }

    .pm-mobile-bottom-nav a.active {
        color: #ffffff;
        background: var(--pm-primary);
    }

    .pm-mobile-bottom-nav a:active {
        transform: scale(.96);
    }

    .pm-install-prompt {
        left: 12px;
        right: 12px;
    }
}

@media (max-width: 420px) {
    .pm-brand small {
        display: none;
    }

    .pm-brand strong {
        max-width: 136px;
    }

    .pm-btn,
    .btn {
        width: 100%;
        padding-left: 14px;
        padding-right: 14px;
    }
}

@keyframes pmMobileMenuIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Step 31 - public pages mobile polish */
.pm-auth-card .pm-muted,
.pm-section-head p,
.pm-public-hero-copy p {
    overflow-wrap: normal;
}

.pm-auth-card {
    isolation: isolate;
}

.pm-auth-card form {
    margin-top: 18px;
}

.pm-password-toggle {
    color: var(--pm-primary) !important;
    background: var(--pm-primary-soft) !important;
}

.pm-password-toggle:hover {
    background: #dbeafe !important;
}

.pm-pricing-card.popular {
    border-color: rgba(37, 99, 235, .34);
}

.pm-pricing-card.discounted {
    border-color: rgba(22, 163, 74, .34);
}

.pm-pricing-card .pm-list {
    margin-bottom: 22px;
}

.pm-pricing-flow {
    overflow: hidden;
}

.pm-contact-form-wrap {
    padding: 28px;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .055);
}

.pm-contact-card {
    display: flex;
    flex-direction: column;
}

.pm-contact-card p {
    margin-bottom: 0;
}

.pm-footer-bottom-pro a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .pm-pricing-page {
        padding-top: 44px;
    }

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

    .pm-pricing-card.popular,
    .pm-pricing-card.popular:hover {
        transform: none;
    }

    .pm-pricing-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pm-public-hero {
        padding-top: 44px;
    }

    .pm-public-visual img {
        filter: drop-shadow(0 18px 24px rgba(15, 23, 42, .12));
    }

    .pm-contact-form-wrap {
        width: 100%;
    }

    .pm-footer {
        padding-top: 38px;
    }

    .pm-footer-cta {
        padding: 24px;
        border-radius: 18px;
    }

    .pm-footer-cta h2 {
        font-size: clamp(1.55rem, 5vw, 2.35rem);
    }
}

@media (max-width: 760px) {
    .pm-home-hero .pm-shape-field,
    .pm-home-flow-track {
        display: none;
    }

    .pm-hero-panel {
        padding: 18px;
        border-radius: 20px;
    }

    .pm-panel-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .pm-product-preview,
    .pm-mini-card,
    .pm-live-demo,
    .pm-demo-console,
    .pm-demo-paper-output {
        border-radius: 16px;
    }

    .pm-mini-card {
        padding: 15px;
    }

    .pm-mini-card h4,
    .pm-mini-card p {
        overflow-wrap: normal;
    }

    .pm-live-demo {
        padding: 18px;
    }

    .pm-demo-paper-body {
        min-height: 210px;
    }

    .pm-section-head {
        margin-bottom: 24px;
        text-align: left;
    }

    .pm-section-head .pm-kicker {
        margin-left: 0;
        margin-right: 0;
    }

    .pm-section-head h2 {
        font-size: clamp(1.65rem, 8vw, 2.35rem);
        line-height: 1.12;
        letter-spacing: 0;
    }

    .pm-public-hero-copy h1 {
        letter-spacing: 0;
        line-height: 1.08;
    }

    .pm-public-chip-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .pm-public-chip-row a {
        min-width: 0;
        min-height: 46px;
        padding: 10px;
        font-size: .82rem;
    }

    .pm-contact-card-grid {
        gap: 12px;
        margin-bottom: 28px;
    }

    .pm-contact-card {
        min-height: auto;
        padding: 18px;
    }

    .pm-contact-form-wrap {
        padding: 20px;
        border-radius: 16px;
    }

    .pm-contact-form {
        gap: 14px;
    }

    .pm-footer-grid-pro > div {
        padding-bottom: 8px;
        border-bottom: 1px solid rgba(148, 163, 184, .16);
    }

    .pm-footer-grid-pro > div:last-child {
        border-bottom: 0;
    }

    .pm-footer-bottom-pro {
        align-items: stretch;
        flex-direction: column;
    }

    .pm-footer-bottom-pro a {
        width: 100%;
        min-height: 38px;
        padding: 8px 0;
    }
}

@media (max-width: 640px) {
    .pm-auth-wrap {
        align-items: start;
        min-height: auto;
        padding: 24px 12px 34px;
    }

    .pm-auth-card {
        padding: 22px 18px;
        border-radius: 18px;
        box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
    }

    .pm-auth-card h1 {
        font-size: 1.8rem;
        letter-spacing: 0;
    }

    .pm-auth-logo {
        align-items: flex-start;
    }

    .pm-auth-card p.text-center {
        display: grid;
        gap: 8px;
    }

    .pm-pricing-page .pm-section-head {
        text-align: left;
    }

    .pm-pricing-grid,
    .pm-pricing-flow {
        grid-template-columns: 1fr;
    }

    .pm-pricing-flow {
        padding: 12px;
        gap: 8px;
    }

    .pm-pricing-flow span {
        justify-content: flex-start;
        min-height: 44px;
    }

    .pm-pricing-card {
        padding: 20px;
    }

    .pm-pricing-card h3 {
        min-height: auto;
        font-size: 1.42rem;
    }

    .pm-price {
        font-size: clamp(2rem, 12vw, 2.8rem);
    }

    .pm-pricing-card > .pm-btn {
        min-height: 50px;
        border-radius: 14px;
    }

    .pm-pricing-payments .pm-grid-3 {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .pm-pricing-payments p {
        margin: 0;
        padding: 12px;
        border: 1px solid var(--pm-border);
        border-radius: 12px;
        background: #f8fafc;
    }

    .pm-public-content {
        padding: 18px 0 48px;
    }

    .pm-public-hero {
        padding: 32px 0 24px;
    }

    .pm-public-visual::before {
        display: none;
    }

    .pm-public-chip-row {
        grid-template-columns: 1fr;
    }

    .pm-contact-form-wrap {
        margin-left: -2px;
        margin-right: -2px;
        padding: 18px 16px;
    }

    .pm-contact-form .pm-input,
    .pm-contact-form .pm-select,
    .pm-contact-form .pm-textarea {
        border-radius: 12px;
    }

    .pm-footer {
        margin-top: 42px;
        padding-top: 28px;
    }

    body.pm-home-page .pm-footer,
    .pm-public-page + .pm-footer,
    .pm-public-page ~ .pm-footer {
        margin-top: 0;
    }

    .pm-footer-cta {
        padding: 20px 16px;
        border-radius: 16px;
    }

    .pm-footer-grid-pro {
        gap: 16px;
        padding-top: 24px;
    }

    .pm-footer h6 {
        margin-bottom: 10px;
    }

    .pm-footer a,
    .pm-footer span {
        margin-bottom: 7px;
        line-height: 1.5;
    }
}

@media (max-width: 420px) {
    .pm-public-visual-wide {
        margin-left: -6px;
        margin-right: -6px;
    }

    .pm-public-visual img {
        border-radius: 14px;
    }

    .pm-contact-card span {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    .pm-footer-brand {
        align-items: flex-start;
    }
}
