/* ===========================
   Marketing Site Styles
   Shared across all public/marketing pages.
   Loaded by marketing/layout.blade.php
   =========================== */

:root {
    --pp-primary: #0d6efd;
    --pp-primary-700: #084298;
    --pp-ink: #0b1220;
    --pp-muted: rgba(11, 18, 32, .72);
    --pp-border: rgba(11, 18, 32, .10);
    --pp-shadow: 0 18px 60px rgba(0, 0, 0, .10);
    --pp-radius: 18px;
}

html { scroll-behavior: smooth; }

body {
    color: var(--pp-ink);
    background: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

:focus-visible {
    outline: 3px solid rgba(13, 110, 253, .35);
    outline-offset: 2px;
    border-radius: 10px;
}

.skip-link {
    position: absolute;
    left: -999px;
    top: 12px;
    background: #fff;
    border: 1px solid var(--pp-border);
    padding: 10px 12px;
    border-radius: 12px;
    box-shadow: var(--pp-shadow);
    z-index: 9999;
}
.skip-link:focus { left: 12px; }

/* Navigation */
.pp-nav {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, .85) !important;
    border-bottom: 1px solid var(--pp-border);
}
.pp-brand { letter-spacing: -0.02em; }

/* Hero */
.pp-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: radial-gradient(1000px 500px at 10% 10%, rgba(13, 110, 253, .55), transparent 55%),
                radial-gradient(900px 450px at 90% 30%, rgba(102, 16, 242, .45), transparent 60%),
                linear-gradient(135deg, var(--pp-primary), var(--pp-primary-700));
}
.pp-hero:before {
    content: "";
    position: absolute;
    inset: -2px;
    background:
        radial-gradient(700px 300px at 20% 30%, rgba(255, 255, 255, .18), transparent 60%),
        radial-gradient(500px 240px at 80% 20%, rgba(255, 255, 255, .14), transparent 55%);
    pointer-events: none;
    opacity: .85;
}
.pp-hero .container { position: relative; z-index: 1; }
.pp-hero h1 { letter-spacing: -0.03em; }

.pp-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .20);
    font-weight: 600;
    font-size: 14px;
}
.pp-pill-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #fff;
    opacity: .85;
}

/* Cards */
.pp-card {
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    background: rgba(255, 255, 255, .80);
    box-shadow: 0 10px 35px rgba(0, 0, 0, .06);
}

.icon-circle {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: rgba(13, 110, 253, .10);
    color: var(--pp-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

/* Forms */
.form-control::placeholder {
    color: rgba(11, 18, 32, .35);
    opacity: 1;
}

/* Article Typography */
.pp-article h2 { margin-top: 2.2rem; margin-bottom: .75rem; font-weight: 700; }
.pp-article h3 { margin-top: 1.6rem; margin-bottom: .5rem; font-weight: 600; }
.pp-article p { color: rgba(11, 18, 32, .72); font-size: 18px; line-height: 1.7; }
.pp-article ul { margin: 1rem 0 1.2rem 1.2rem; }
.pp-article table { width: 100%; margin: 1.5rem 0; border-collapse: collapse; }
.pp-article th,
.pp-article td { padding: 10px 12px; border: 1px solid rgba(11, 18, 32, .08); }

/* Accordion */
.accordion-button { padding: 1rem 1rem; }
.accordion-button:not(.collapsed) { background: rgba(13, 110, 253, .06); color: var(--pp-ink); }
.accordion-item { background: transparent; }
.accordion-body { font-size: 16px; line-height: 1.7; }

/* EIN Lookup Hero */
.pp-hero--lookup,
.pp-hero--lookup * {
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.pp-hero--lookup {
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, .12), transparent 30%),
        linear-gradient(135deg, #0d6efd 0%, #084298 100%);
}
.pp-hero-title { color: #fff; letter-spacing: -.03em; line-height: 1.02; max-width: 11ch; }
.pp-hero-subtitle { max-width: 43rem; color: rgba(255, 255, 255, .90); line-height: 1.65; font-weight: 400; }

/* Lookup Card */
.pp-lookup-card { background: rgba(255, 255, 255, .98); border: 1px solid rgba(255, 255, 255, .22); border-radius: 24px; padding: 1.5rem; box-shadow: 0 24px 60px rgba(2, 6, 23, .18); }
.pp-lookup-card__top { display: flex; justify-content: space-between; gap: 1rem; }
.pp-lookup-eyebrow { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; color: #0d6efd; margin-bottom: .5rem; }
.pp-lookup-heading { font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; color: #0a2540; margin-bottom: .5rem; }
.pp-lookup-copy { color: #566b8d; line-height: 1.65; max-width: 38rem; }
.pp-label { font-size: .95rem; font-weight: 700; color: #0a2540; margin-bottom: .55rem; }
.pp-input-wrap { position: relative; }
.pp-input-icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #6b7280; z-index: 3; }
.pp-ein-input { height: 62px; padding-left: 2.85rem; border-radius: 16px; border: 1px solid rgba(2, 6, 23, .12); background: #fff; color: #0a2540; font-size: 1rem; font-weight: 600; box-shadow: none; }
.pp-ein-input::placeholder { color: #8a94a6; font-weight: 500; }
.pp-ein-input:focus { border-color: rgba(13, 110, 253, .45); box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .12); }
.pp-input-help { margin-top: .55rem; color: #6b7280; font-size: .9rem; }
.pp-search-btn { min-height: 62px; border-radius: 16px; font-weight: 700; letter-spacing: -.01em; box-shadow: 0 12px 24px rgba(13, 110, 253, .18); }
.pp-lookup-trust { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin-top: 1rem; color: #566b8d; font-size: .92rem; font-weight: 600; }
.pp-lookup-trust span { display: inline-flex; align-items: center; gap: .45rem; }
.pp-lookup-trust i { color: #0d6efd; }
.pp-alert { border-radius: 16px; font-weight: 500; }
.pp-loading { display: flex; align-items: center; gap: .7rem; color: #566b8d; font-weight: 600; }

/* Results */
.pp-results { border-top: 1px solid rgba(2, 6, 23, .08); padding-top: 1.25rem; }
.pp-results-hero { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: 1.1rem 1.1rem 1rem; border-radius: 20px; background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%); border: 1px solid rgba(13, 110, 253, .10); }
.pp-results-kicker,
.pp-history-kicker { font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; color: #6b7280; margin-bottom: .4rem; }
.pp-results-name { font-size: 1.4rem; font-weight: 800; letter-spacing: -.02em; color: #0a2540; }
.pp-results-meta { color: #566b8d; font-size: .95rem; margin-bottom: .6rem; }
.pp-results-meta span { font-weight: 700; color: #0a2540; }
.pp-results-narrative { color: #42526b; line-height: 1.65; max-width: 42rem; }
.pp-results-badge { display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; border-radius: 999px; padding: .55rem .9rem; font-size: .9rem; font-weight: 800; background: #eef8f1; color: #18794e; border: 1px solid rgba(24, 121, 78, .12); }
.pp-results-badge.is-warning { background: #fff4e5; color: #b54708; border-color: rgba(181, 71, 8, .12); }

/* Stat Cards */
.pp-stat-card { height: 100%; border-radius: 18px; border: 1px solid rgba(2, 6, 23, .08); background: #fff; padding: 1rem; }
.pp-stat-card__label { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: #6b7280; font-weight: 800; margin-bottom: .4rem; }
.pp-stat-card__value { color: #0a2540; font-size: 1.05rem; font-weight: 800; letter-spacing: -.01em; }

/* History */
.pp-history-shell { margin-top: .5rem; }
.pp-history-title { color: #0a2540; font-weight: 800; letter-spacing: -.02em; }
.pp-history-caption { color: #6b7280; font-size: .9rem; font-weight: 500; }
.pp-history-card { height: 100%; border-radius: 18px; border: 1px solid rgba(2, 6, 23, .08); background: #fff; padding: 1rem; }
.pp-history-card__top { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: .7rem; }
.pp-history-card__year { font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; color: #0a2540; }
.pp-history-card__status { display: inline-flex; align-items: center; border-radius: 999px; padding: .32rem .65rem; font-size: .8rem; font-weight: 800; background: #eef8f1; color: #18794e; }
.pp-history-card__status.is-warning { background: #fff4e5; color: #b54708; }
.pp-history-card__copy { color: #566b8d; line-height: 1.6; margin-bottom: .8rem; min-height: 3.2em; }
.pp-history-card__footer { padding-top: .8rem; border-top: 1px solid rgba(2, 6, 23, .06); color: #6b7280; font-size: .9rem; font-weight: 600; }
.pp-results-actions { display: flex; flex-wrap: wrap; gap: .75rem; }

/* Side Story */
.pp-side-story { border-radius: 24px; border: 1px solid rgba(255, 255, 255, .18); box-shadow: 0 20px 50px rgba(2, 6, 23, .14); }
.pp-side-story__eyebrow { display: inline-block; margin-bottom: .75rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; color: #0d6efd; background: rgba(13, 110, 253, .08); border: 1px solid rgba(13, 110, 253, .12); border-radius: 999px; padding: .35rem .7rem; }
.pp-side-story__title { color: #0a2540; font-size: 1.55rem; font-weight: 800; letter-spacing: -.02em; margin-bottom: .8rem; }
.pp-side-story__copy { color: #566b8d; line-height: 1.7; margin-bottom: 1.25rem; }
.pp-side-story__steps { display: grid; gap: .9rem; }
.pp-side-step { display: flex; align-items: flex-start; gap: .85rem; padding: 1rem; border-radius: 18px; background: #f8fbff; border: 1px solid rgba(13, 110, 253, .08); }
.pp-side-step__num { width: 40px; height: 40px; flex: 0 0 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 13px; background: linear-gradient(135deg, #0d6efd, #084298); color: #fff; font-weight: 800; box-shadow: 0 10px 20px rgba(13, 110, 253, .18); }
.pp-side-step__title { color: #0a2540; font-weight: 800; margin-bottom: .15rem; }
.pp-side-step__copy { color: #566b8d; font-size: .94rem; line-height: 1.55; }
.pp-side-story__footer { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid rgba(2, 6, 23, .08); color: #6b7280; font-size: .92rem; font-weight: 600; }

/* Responsive */
@media (max-width: 991.98px) {
    .pp-results-hero { flex-direction: column; }
}

@media (max-width: 767.98px) {
    .pp-lookup-card,
    .pp-side-story { border-radius: 20px; }
    .pp-hero-title { max-width: none; }
    .pp-results-actions { flex-direction: column; }
    .pp-results-actions .btn { width: 100%; }
}
