/* Page hero — compact, works for both light and dark variants */
.pp-hero {
    position: relative;
    padding: 76px 0;
}

.pp-hero__inner {
    max-width: 780px;
}

.pp-hero--center .pp-hero__inner {
    margin-inline: auto;
    text-align: center;
}

.pp-hero--dark {
    background: var(--adah-tertiary);
    color: #fff;
}

.pp-hero--dark .pp-eyebrow {
    color: var(--adah-wave-5);
}

.pp-hero--dark p {
    color: rgba(255,255,255,.78);
}

.pp-hero--mist {
    background: var(--adah-surface-mist);
}

.pp-hero h1 {
    font: var(--adah-t-h1);
    color: inherit;
    margin: 12px 0 18px;
    letter-spacing: 0;
}

.pp-hero p {
    font: var(--adah-t-lead);
    max-width: 700px;
    margin: 0;
}

.pp-hero--center p {
    margin-inline: auto;
}

/* Eyebrow */
.pp-eyebrow {
    font: var(--adah-t-eyebrow);
    letter-spacing: .12em;
    color: var(--adah-primary);
    text-transform: uppercase;
}

/* Section spacing */
.pp-section {
    padding: 80px 0;
}

.pp-section--white {
    background: #fff;
}

.pp-section--mist {
    background: var(--adah-surface-mist);
}

.pp-section--wave {
    background: linear-gradient(135deg, var(--adah-wave-1), var(--adah-wave-5));
    color: #fff;
}

.pp-section-hd {
    max-width: 720px;
    margin: 0 0 36px;
}

.pp-section-hd h2,
.pp-story-copy h2,
.pp-cta-inner h2 {
    font: var(--adah-t-h2);
    color: inherit;
    margin: 12px 0 0;
}

/* Stat strip */
.pp-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.pp-stat {
    border-inline-start: 1px solid rgba(var(--adah-tertiary-rgb), .08);
    padding-inline-start: 24px;
}

.pp-stat-num {
    font-size: clamp(36px, 5vw, 60px);
    font-weight: 700;
    color: var(--adah-primary);
    line-height: 1;
    margin-bottom: 18px;
}

.pp-stat h3,
.pp-value-card h3,
.pp-info-card h3 {
    font: var(--adah-t-label);
    color: var(--adah-tertiary);
    margin: 0 0 8px;
}

.pp-stat p,
.pp-value-card p,
.pp-info-card p,
.pp-story-copy p {
    font: var(--adah-t-body);
    color: var(--adah-ink-soft);
    margin: 0;
    line-height: 1.75;
}

.pp-story-copy p + p {
    margin-top: 16px;
}

/* Story section */
.pp-story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
}

.pp-story-visual {
    display: flex;
    justify-content: center;
}

.pp-wave-card {
    width: min(100%, 420px);
    aspect-ratio: 1 / 1;
    border-radius: var(--adah-radius-lg);
    background:
        radial-gradient(circle at 20% 20%, rgba(255,255,255,.32), transparent 34%),
        linear-gradient(135deg, var(--adah-wave-1), var(--adah-wave-5));
    box-shadow: 0 28px 70px -28px rgba(var(--adah-tertiary-rgb), .32);
    display: flex;
    align-items: center;
    justify-content: center;
}

.pp-wave-card span {
    color: #fff;
    font-size: clamp(96px, 16vw, 180px);
    font-weight: 700;
    line-height: 1;
}

/* Values grid */
.pp-values {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.pp-value-card {
    background: var(--adah-surface-mist);
    border-radius: var(--adah-radius-lg);
    padding: var(--adah-space-8);
}

.pp-value-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--adah-radius-md);
    background: var(--adah-mint-wash);
    color: var(--adah-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

/* CTA strip */
.pp-cta-inner {
    text-align: center;
}

.pp-cta-inner h2 {
    margin-bottom: 24px;
}

.pp-btn-white {
    background: #fff;
    color: var(--adah-primary);
    border-color: #fff;
}

.pp-btn-white:hover,
.pp-btn-white:focus-visible {
    color: var(--adah-primary);
    border-color: #fff;
    box-shadow: 0 16px 32px -18px rgba(var(--adah-tertiary-rgb), .42);
    transform: translateY(-1px);
}

/* Pricing table */
.pp-table-wrap {
    overflow-x: auto;
    background: #fff;
    border: 1px solid rgba(var(--adah-tertiary-rgb), .06);
    border-radius: var(--adah-radius-lg);
    box-shadow: 0 20px 40px -24px rgba(var(--adah-tertiary-rgb), .14);
}

.pp-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 680px;
}

.pp-table th,
.pp-table td {
    padding: 16px 20px;
    text-align: center;
    border-bottom: 1px solid rgba(var(--adah-tertiary-rgb), .06);
    font: var(--adah-t-body);
    color: var(--adah-ink);
}

.pp-table th {
    font: var(--adah-t-label);
    color: var(--adah-tertiary);
    background: var(--adah-surface-cream);
}

.pp-table th:first-child,
.pp-table td:first-child {
    text-align: start;
}

.pp-table tbody tr:last-child td {
    border-bottom: 0;
}

.pp-check {
    color: var(--adah-primary);
}

.pp-cross {
    color: var(--adah-muted);
}

/* Contact form */
.pp-contact-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 48px;
    align-items: start;
}

.pp-form-card {
    background: #fff;
    border-radius: var(--adah-radius-lg);
    padding: var(--adah-space-10);
    box-shadow: 0 20px 40px -16px rgba(var(--adah-tertiary-rgb), .12);
}

.pp-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: var(--adah-space-5);
}

.pp-label {
    font: var(--adah-t-label);
    color: var(--adah-tertiary);
}

.pp-input,
.pp-select,
.pp-textarea {
    width: 100%;
    padding: 12px 16px;
    border-radius: var(--adah-radius-md);
    border: 1.5px solid var(--adah-line-soft);
    background: var(--adah-surface-mist);
    font: var(--adah-t-body);
    color: var(--adah-ink);
    transition: border-color var(--adah-dur-base) var(--adah-ease), box-shadow var(--adah-dur-base) var(--adah-ease);
}

.pp-input:focus,
.pp-select:focus,
.pp-textarea:focus {
    outline: none;
    border-color: var(--adah-primary);
    box-shadow: var(--adah-shadow-focus);
}

.pp-textarea {
    resize: vertical;
}

.pp-btn-block {
    width: 100%;
}

/* Contact info cards */
.pp-info-stack {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pp-info-card {
    background: #fff;
    border-radius: var(--adah-radius-lg);
    padding: var(--adah-space-6);
    display: flex;
    gap: var(--adah-space-4);
    align-items: flex-start;
    border: 1px solid rgba(var(--adah-tertiary-rgb), .06);
}

.pp-info-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--adah-radius-md);
    background: var(--adah-mint-wash);
    color: var(--adah-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

/* Responsive */
@media (max-width: 991.98px) {
    .pp-stats {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .pp-story-grid,
    .pp-values,
    .pp-contact-grid {
        grid-template-columns: 1fr;
    }

    .pp-story-visual {
        order: -1;
    }
}

@media (max-width: 575.98px) {
    .pp-section {
        padding: 56px 0;
    }

    .pp-hero {
        padding: 56px 0;
    }

    .pp-form-card {
        padding: var(--adah-space-6);
    }
}
