:root {
    --pl-navy: #0a083a;
    --pl-blue: #2c45c9;
    --pl-blue-2: #536ce5;
    --pl-mint: #01e792;
    --pl-ink: #0a083a;
    --pl-muted: #53627c;
    --pl-line: #e4e8f0;
    --pl-soft: #f7f8fb;
    --pl-white: #fff;
    --pl-shadow: 0 14px 36px rgba(25, 42, 94, .08);
}

.marketing-v3 {
    font-family: Poppins, Arial, sans-serif;
    color: var(--pl-muted);
    background: #fff;
}

.site-header {
    background: var(--pl-navy);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    box-shadow: 0 6px 20px rgba(10, 8, 58, .08);
}

.nav-shell { min-height: 72px; }
.nav-links a, .nav-actions a { font-size: 13px; font-weight: 600; }
.nav-links a:hover, .nav-links a:focus { color: var(--pl-mint); }

.button {
    min-height: 44px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    box-shadow: none;
}

.button-primary { background: var(--pl-blue); color: #fff !important; }
.button-primary:hover, .button-primary:focus {
    background: #2038ba;
    box-shadow: 0 9px 22px rgba(44, 69, 201, .23);
    transform: translateY(-1px);
}
.button-secondary { border-color: #d1d8e6; color: var(--pl-blue); }
.button-ghost { border-color: rgba(255, 255, 255, .42); color: #fff !important; }
.button-light { background: var(--pl-blue); color: #fff; }
.eyebrow { color: var(--pl-blue); font-weight: 700; letter-spacing: .1em; }

.hero {
    position: relative;
    background: linear-gradient(118deg, #0a083a 0%, #18256d 56%, #2c45c9 100%);
    padding: 82px 0 88px;
}
.hero::before {
    content: '';
    position: absolute;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    right: -140px;
    top: 80px;
    pointer-events: none;
}
.hero h1, .page-hero h1 { color: #fff; letter-spacing: -.035em; font-weight: 700; }
.hero h1 { font-size: clamp(42px, 5.2vw, 68px); }
.hero-lead, .page-hero p { font-weight: 400; }
.hero .button-primary { background: var(--pl-blue); border: 1px solid rgba(255, 255, 255, .2); }
.hero .button-primary:hover { background: #2038ba; }
.hero-notes { color: #e6e9ff; }

.section { padding: 86px 0; }
.section-heading h2, .split-copy h2, .final-cta h2 {
    color: var(--pl-ink);
    font-weight: 700;
    letter-spacing: -.025em;
}
.feature-card, .case-card, .resource-card, .industry-card, .capability,
.logo-tile, .process-line article, .blog-card {
    border-radius: 10px;
    box-shadow: none;
}
.feature-card:hover, .case-card:hover, .resource-card:hover, .industry-card:hover {
    border-color: #cbd4e7;
    box-shadow: 0 10px 28px rgba(31, 49, 103, .07);
}
.feature-icon { border-radius: 8px; background: #eef1ff; color: var(--pl-blue); }
.split-art { border-radius: 10px; background: #f5f7fc; }
.section-soft { background: var(--pl-soft); }
.section-dark {
    background: #f7f8fb;
    color: var(--pl-ink);
    border-top: 1px solid var(--pl-line);
    border-bottom: 1px solid var(--pl-line);
}
.section-dark .section-heading h2 { color: var(--pl-ink); }
.section-dark .section-heading p, .section-dark .split-copy p { color: var(--pl-muted); }
.section-dark .text-link { color: var(--pl-blue); }

.page-hero {
    background: linear-gradient(118deg, #0a083a 0%, #192a79 70%, #2c45c9 100%);
    padding: 70px 0 66px;
}
.page-hero .eyebrow { color: var(--pl-mint); }
.page-hero p, .breadcrumbs { color: #e0e5ff; }

.final-cta { background: linear-gradient(110deg, #223bbd, #2c45c9); }
.final-cta h2 { color: #fff; }
.final-cta .eyebrow { color: var(--pl-mint); }

.site-footer {
    background: #fff;
    color: var(--pl-ink);
    padding: 58px 0 26px;
    border-top: 1px solid var(--pl-line);
}
.footer-brand-row { border-bottom: 1px solid var(--pl-line); }
.footer-brand-row p { color: var(--pl-muted); }
.footer-logo { width: 180px; filter: none; }
.footer-directory h2 { color: var(--pl-ink); font-size: 16px; font-weight: 700; }
.footer-directory a { color: var(--pl-muted); font-weight: 500; }
.footer-directory a:hover { color: var(--pl-blue); }
.footer-bottom { border-top: 1px solid var(--pl-line); color: #7b879e; }
.trust-logos img { filter: none; opacity: .85; }
.notice { border-left-color: var(--pl-mint); }
.check-list li::before { background: #dffff4; color: #008c62; }

@media (max-width: 640px) {
    .hero::before { width: 320px; height: 320px; right: -180px; top: 55px; }
    .hero h1, .page-hero h1 { font-size: 38px; }
    .section { padding: 66px 0; }
    .site-footer { padding-top: 48px; }
}
