/* ==========================================================================
   Pro Features page (/pro-features/)
   Depends on design-system-v2.css. Reuses .v2-* primitives.
   Baseline layout only; this is the design agent's iteration surface.
   ========================================================================== */

.prof-moment { background: var(--v2-bg-primary); }
.prof-moment--alt { background: var(--v2-bg-tertiary); }

/* ---- Hero ---- */
.prof-hero {
    background: var(--v2-bg-primary);
    text-align: center;
    padding-top: 7rem; /* clears the fixed il-header (bottom ~116px incl. announcement bar) */
    padding-bottom: 4rem;
}
.prof-hero__inner {
    max-width: 880px;
}
.prof-hero__headline {
    font-size: 2.9rem;
    margin: 0.75rem 0 1.25rem;
}
.prof-hero__sub {
    font-size: 1.05rem;
    color: var(--v2-text-secondary);
    max-width: 700px;
    margin: 0 auto;
}
.prof-hero__cta {
    justify-content: center;
    margin-top: 2rem;
}

/* ---- Proof bar ---- */
.prof-proofbar {
    list-style: none;
    padding: 0;
    margin: 2.5rem 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 2rem;
}
.prof-proofbar li {
    font-size: 0.8rem;
    color: var(--v2-text-tertiary);
    font-weight: 600;
    position: relative;
}
.prof-proofbar li:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 14px;
    background: var(--v2-border-subtle);
}
.prof-proofbar li span {
    color: var(--v2-text-faint);
    font-weight: 400;
}

/* ---- Feature moments ---- */
.prof-moment__text .v2-eyebrow { margin-bottom: 0.5rem; }
.prof-moment__stat { margin: 1.25rem 0; }
.prof-moment__stat p { margin: 0; font-size: 1rem; }
.prof-moment__text .v2-checklist { margin: 1rem 0; }
.prof-moment__text .v2-proof { margin-top: 1rem; }
.prof-moment__visual .v2-screenshot--placeholder { min-height: 320px; }

/* ---- Trust spine ---- */
.prof-trust { background: var(--v2-bg-secondary); }
.prof-trust__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.prof-trust__card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--v2-border-subtle);
    border-radius: 12px;
    padding: 1.75rem;
}
.prof-trust__card h3 { margin: 0 0 0.6rem; }
.prof-trust__card .v2-body { max-width: none; }

/* ---- Proof / testimonials ---- */
.prof-proof__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.prof-proof__grid .v2-quote { margin-top: 0; }

/* ---- Plans / decision ---- */
.prof-plans__cta { justify-content: center; }

/* ---- CTA prefooter ---- */
.prof-cta { background: var(--v2-bg-secondary); text-align: center; }
.prof-cta__headline { font-size: 2rem; margin-bottom: 0; }
.prof-cta__row { justify-content: center; margin-top: 1.5rem; }

/* ---- Responsive ---- */
@media (max-width: 768px) {
    .prof-hero { padding-top: 8.5rem; } /* fixed header bottom ~116px on mobile, clear it */
    .prof-hero__headline { font-size: 2rem; }
    .prof-hero__sub { font-size: 0.95rem; }
    .prof-trust__grid,
    .prof-proof__grid {
        grid-template-columns: 1fr;
    }
    /* The shared rule .v2-btn-row .v2-btn { flex: 1 1 11rem } turns 11rem into a
       vertical basis once the row stacks, producing 176px-tall buttons. Reset for
       this page's CTA rows only. */
    .prof-moment .v2-btn-row .v2-btn,
    .prof-hero__cta .v2-btn,
    .prof-cta__row .v2-btn,
    .prof-plans__cta .v2-btn {
        flex: 0 0 auto;
    }
}

@media (max-width: 480px) {
    .prof-hero__headline { font-size: 1.7rem; }
    .prof-cta__headline { font-size: 1.5rem; }
}

/* ==========================================================================
   Pro Features creative direction
   ========================================================================== */

.prof-page {
    --prof-bg-ink: #06111f;
    --prof-bg-panel: #0c1b30;
    --prof-bg-panel-soft: rgba(255, 255, 255, 0.035);
    --prof-border: rgba(255, 255, 255, 0.09);
    --prof-border-strong: rgba(255, 160, 0, 0.36);
    --prof-gold: #ffa000;
    --prof-teal: #28d2b4;
    --prof-coral: #ff7a59;
    --prof-green: #8bd450;
    --prof-green-strong: #51e68a;
    --prof-violet: #a78bfa;
    --prof-sky: #54b8ff;
    --prof-text: #ffffff;
    --prof-text-soft: #d7e0ec;
    --prof-text-muted: #8ea0b5;
    background: var(--prof-bg-ink);
    color: var(--prof-text);
    font-family: var(--v2-font-family);
}

.prof-page *,
.prof-page *::before,
.prof-page *::after {
    box-sizing: border-box;
}

.prof-page .v2-section {
    overflow: hidden;
}

.prof-page .v2-eyebrow,
.prof-feature__eyebrow,
.prof-section-kicker .v2-eyebrow {
    display: inline-block;
    color: var(--prof-gold);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0 0 0.85rem;
    text-transform: uppercase;
}

.prof-page h1,
.prof-page h2,
.prof-page h3 {
    color: var(--prof-text);
    font-family: var(--v2-font-family);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.05;
    margin: 0;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.prof-page p {
    overflow-wrap: anywhere;
}

.prof-page .v2-btn {
    min-height: 44px;
}

.prof-hero {
    background:
        radial-gradient(ellipse at 80% 35%, rgba(48, 110, 234, 0.32) 0%, transparent 55%),
        linear-gradient(155deg, rgba(21, 71, 188, 0.82) 0%, rgba(10, 22, 40, 0.96) 48%, #07111f 100%),
        var(--prof-bg-ink);
    padding-bottom: 5rem;
    padding-top: 9rem;
    text-align: left;
}

.prof-hero__layout {
    align-items: center;
    display: grid;
    gap: 2.5rem;
    grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.85fr);
}

.prof-hero__copy {
    max-width: 760px;
    text-align: left;
}

.prof-hero__eyebrow {
    color: var(--prof-gold);
    margin-bottom: 1.25rem;
}

.prof-hero__headline {
    font-size: 4rem;
    font-weight: 850;
    letter-spacing: -0.015em;
    line-height: 1.02;
    margin: 0;
    max-width: 100%;
    overflow-wrap: normal;
    text-wrap: balance;
}

.prof-hero__headline-coda {
    color: var(--prof-green-strong);
    display: block;
    font-weight: 850;
    margin-top: 0.4rem;
}

.prof-hero__sub {
    color: var(--prof-text-soft);
    font-size: 1.15rem;
    line-height: 1.6;
    margin: 1.5rem 0 0;
    max-width: 580px;
}

.prof-hero__cta {
    justify-content: flex-start;
    margin-top: 2rem;
}

.prof-hero__trust {
    color: var(--prof-text-muted);
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.5;
    margin: 1.1rem 0 0;
}

.prof-hero__shot {
    position: relative;
}

.prof-hero__shot img {
    display: block;
    filter: drop-shadow(0 38px 80px rgba(0, 0, 0, 0.5));
    height: auto;
    margin-left: auto;
    max-width: none;
    width: calc(100% + 1.5rem);
}

.prof-suite-map {
    margin: 2.5rem auto 0;
    max-width: 1080px;
}

.prof-suite-map ul {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.prof-suite-map li {
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--prof-border);
    border-radius: 8px;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 2.3rem minmax(0, 1fr);
    padding: 1rem;
    text-align: left;
}

.prof-suite-map img {
    background: rgba(255, 160, 0, 0.1);
    border: 1px solid rgba(255, 160, 0, 0.24);
    border-radius: 999px;
    display: block;
    height: 2.3rem;
    object-fit: contain;
    padding: 0.45rem;
    width: 2.3rem;
}

.prof-suite-map span,
.prof-suite-map strong,
.prof-suite-map em {
    display: block;
    min-width: 0;
    text-align: left;
}

.prof-suite-map span {
    color: var(--prof-text);
    font-size: 0.92rem;
    font-weight: 800;
}

.prof-suite-map strong {
    color: var(--prof-text-soft);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 0.25rem;
}

.prof-suite-map em {
    color: var(--prof-green-strong);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.2;
    margin-top: 0.4rem;
    text-transform: uppercase;
}

.prof-proofbar {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 3rem 0 0;
    padding: 0;
}

.prof-proofbar li {
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 8px;
    min-height: 88px;
    padding: 1rem;
}

.prof-proofbar li::after {
    content: none !important;
}

.prof-proofbar strong {
    color: var(--prof-gold);
    display: block;
    font-size: 1.15rem;
    line-height: 1.1;
}

.prof-proofbar span {
    color: var(--prof-text-soft);
    display: block;
    font-size: 0.82rem;
    line-height: 1.35;
    margin-top: 0.35rem;
}

.prof-decision,
.prof-features {
    background: var(--prof-bg-ink);
}

.prof-section-kicker {
    max-width: 760px;
}

.prof-section-kicker--center {
    margin: 0 auto;
    text-align: center;
}

.prof-section-kicker h2 {
    font-size: 2.35rem;
}

.prof-section-kicker p {
    color: var(--prof-text-muted);
    font-size: 1rem;
    line-height: 1.7;
    margin: 1rem 0 0;
}

.prof-friction-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2.4rem;
}

.prof-friction-card,
.prof-quote,
.prof-trust__item {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--prof-border);
    border-radius: 8px;
}

.prof-friction-card {
    min-height: 0;
    padding: 1.45rem;
    overflow: hidden;
    position: relative;
}

.prof-friction-card > span,
.prof-feature__stat span,
.prof-trust__item span {
    color: var(--prof-gold);
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.prof-friction-card h3 {
    font-size: 1.35rem;
    margin-top: 0.9rem;
}

.prof-friction-card p {
    color: var(--prof-text-muted);
    font-size: 0.92rem;
    line-height: 1.62;
    margin: 1rem 0 0;
}

/* ---- Acts ---- */
.prof-act {
    margin-top: 4.5rem;
}

.prof-act__kicker {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 1.4rem;
}

.prof-act__kicker span {
    color: var(--prof-gold);
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.prof-act__kicker h2 {
    font-size: 1.9rem;
    margin-top: 0.65rem;
    max-width: 720px;
}

.prof-act__kicker p {
    color: var(--prof-text-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0.7rem 0 0;
    max-width: 640px;
}

.prof-feature-stack {
    margin-top: 0;
}

.prof-feature {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: grid;
    gap: 4rem;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    padding: 4.5rem 0;
}

.prof-feature:first-child {
    border-top: 0;
}

.prof-feature:nth-child(even) .prof-feature__copy {
    order: 2;
}

.prof-feature:nth-child(even) .prof-feature__visual {
    order: 1;
}

.prof-feature__meta {
    align-items: center;
    display: flex;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.prof-feature__meta span {
    align-items: center;
    background: rgba(255, 160, 0, 0.13);
    border: 1px solid rgba(255, 160, 0, 0.34);
    border-radius: 999px;
    color: var(--prof-gold);
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 900;
    height: 2.2rem;
    justify-content: center;
    width: 2.2rem;
}

.prof-feature__meta img {
    display: block;
    height: 1.3rem;
    object-fit: contain;
    width: 1.3rem;
}

.prof-feature__meta strong {
    color: var(--prof-text-muted);
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
}

.prof-feature__meta em,
.prof-feature-compact__meta em {
    border: 1px solid rgba(255, 160, 0, 0.3);
    border-radius: 999px;
    color: var(--prof-gold);
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.2;
    padding: 0.3rem 0.6rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.prof-feature h3 {
    font-size: 2.25rem;
    max-width: 720px;
}

.prof-feature__para {
    color: var(--prof-text-soft);
    font-size: 0.97rem;
    line-height: 1.68;
    margin: 1.15rem 0 0;
    max-width: 640px;
}

.prof-feature__stat {
    align-items: center;
    background: rgba(255, 160, 0, 0.075);
    border: 1px solid var(--prof-border-strong);
    border-radius: 8px;
    display: grid;
    gap: 0.25rem;
    margin-top: 1.5rem;
    padding: 1rem 1.1rem;
}

.prof-feature__stat strong {
    color: var(--prof-text);
    font-size: 1.2rem;
}

.prof-feature__stat span {
    color: #f7c76d;
    font-size: 0.85rem;
    line-height: 1.45;
    text-transform: none;
}

.prof-feature__trust {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--prof-text-soft);
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 1.35rem 0 0;
    padding-top: 1rem;
}

.prof-feature__cta {
    margin-top: 1.1rem;
}

.prof-feature-compact {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--prof-border);
    border-radius: 8px;
    display: grid;
    gap: 1.1rem;
    grid-template-columns: 2.6rem minmax(0, 1fr);
    margin-top: 2.5rem;
    max-width: 860px;
    padding: 1.6rem;
}

.prof-feature-compact__icon {
    align-items: center;
    background: rgba(255, 160, 0, 0.13);
    border: 1px solid rgba(255, 160, 0, 0.34);
    border-radius: 999px;
    display: inline-flex;
    height: 2.6rem;
    justify-content: center;
    width: 2.6rem;
}

.prof-feature-compact__icon img {
    display: block;
    height: 1.35rem;
    object-fit: contain;
    width: 1.35rem;
}

.prof-feature-compact__meta {
    align-items: center;
    display: flex;
    gap: 0.7rem;
}

.prof-feature-compact__meta strong {
    color: var(--prof-text-muted);
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
}

.prof-feature-compact h4 {
    color: var(--prof-text);
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0.7rem 0 0;
}

.prof-feature-compact p {
    color: var(--prof-text-muted);
    font-size: 0.93rem;
    line-height: 1.62;
    margin: 0.7rem 0 0;
    max-width: 640px;
}

.prof-ui-preview {
    background: #071526;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 8px;
    box-shadow:
        0 0 0 1px rgba(255, 160, 0, 0.16),
        0 34px 90px rgba(0, 0, 0, 0.45);
    display: block;
    min-height: 440px;
    overflow: hidden;
    padding: 1rem;
    width: 100%;
}

.prof-ui-preview__bar {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.25rem 0 1rem;
}

.prof-ui-preview__bar span,
.prof-ui-preview__bar strong {
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.2;
}

.prof-ui-preview__bar span {
    color: var(--prof-text);
}

.prof-ui-preview__bar strong {
    color: var(--prof-gold);
}

.prof-ui-preview__upload {
    background: rgba(40, 210, 180, 0.12);
    border: 1px solid rgba(40, 210, 180, 0.32);
    border-radius: 8px;
    color: #a7f3e7;
    font-size: 0.85rem;
    font-weight: 800;
    margin-top: 1rem;
    padding: 0.85rem 1rem;
}

/* ---- Product screenshots (real UI, composed with floating cards) ---- */
.prof-feature__shot {
    display: block;
    width: 100%;
}

.prof-feature__shot img {
    display: block;
    filter: drop-shadow(0 34px 70px rgba(0, 0, 0, 0.4));
    height: auto;
    width: 100%;
}

/* ---- Taught motion: each loop demonstrates one workflow ---- */

/* Plan Updater: statuses flip to Approved one by one, then a new batch */
@keyframes prof-status-approve {
    0%, 8% { opacity: 0; }
    14%, 84% { opacity: 1; }
    90%, 100% { opacity: 0; }
}

@keyframes prof-status-pending {
    0%, 8% { opacity: 1; }
    14%, 84% { opacity: 0; }
    90%, 100% { opacity: 1; }
}

.prof-update-status i { animation: prof-status-approve 12s ease-in-out infinite; }
.prof-update-status em { animation: prof-status-pending 12s ease-in-out infinite; }

.prof-update-list div:nth-child(1) .prof-update-status em,
.prof-update-list div:nth-child(1) .prof-update-status i { animation-delay: 0.8s; }
.prof-update-list div:nth-child(2) .prof-update-status em,
.prof-update-list div:nth-child(2) .prof-update-status i { animation-delay: 2.3s; }
.prof-update-list div:nth-child(3) .prof-update-status em,
.prof-update-list div:nth-child(3) .prof-update-status i { animation-delay: 3.8s; }
.prof-update-list div:nth-child(4) .prof-update-status em,
.prof-update-list div:nth-child(4) .prof-update-status i { animation-delay: 5.3s; }

@media (prefers-reduced-motion: reduce) {
    .prof-update-status em,
    .prof-update-status i {
        animation: none;
    }
}

.prof-update-list {
    display: grid;
    gap: 0.7rem;
    margin-top: 1rem;
}

.prof-update-list div {
    align-items: center;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.085);
    border-radius: 8px;
    display: grid;
    gap: 0.5rem;
    grid-template-columns: 4.8rem 1fr auto;
    min-height: 64px;
    padding: 0.8rem;
}

.prof-update-list div > span:not(.prof-update-status),
.prof-update-list em,
.prof-update-list i {
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 800;
    justify-content: center;
    line-height: 1.2;
    padding: 0.35rem 0.55rem;
    text-align: center;
}

.prof-update-list div > span:not(.prof-update-status) {
    background: rgba(255, 160, 0, 0.13);
    color: var(--prof-gold);
}

.prof-update-list strong {
    color: var(--prof-text-soft);
    font-size: 0.9rem;
}

.prof-update-list em {
    background: rgba(84, 184, 255, 0.11);
    color: #9ed8ff;
}

.prof-update-status {
    display: inline-grid;
    justify-self: end;
}

.prof-update-status em,
.prof-update-status i {
    grid-area: 1 / 1;
}

.prof-update-status i {
    background: rgba(81, 230, 138, 0.14);
    color: #b8f5cf;
    opacity: 0;
}

.prof-chat-question {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: var(--prof-text-soft);
    font-size: 0.95rem;
    line-height: 1.5;
    margin-top: 1.2rem;
    padding: 1rem;
}

.prof-answer-card {
    background: linear-gradient(180deg, rgba(255, 160, 0, 0.14), rgba(255, 255, 255, 0.04));
    border: 1px solid rgba(255, 160, 0, 0.34);
    border-radius: 8px;
    margin-top: 1rem;
    padding: 1.2rem;
}

.prof-answer-card span {
    color: var(--prof-gold);
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.prof-answer-card strong {
    color: var(--prof-text);
    display: block;
    font-size: 1.65rem;
    line-height: 1.1;
    margin-top: 0.55rem;
}

.prof-answer-card p {
    color: var(--prof-text-soft);
    font-size: 0.9rem;
    line-height: 1.58;
    margin: 0.85rem 0 0;
}

.prof-answer-card button {
    background: var(--prof-gold);
    border: 0;
    border-radius: 6px;
    color: #041835;
    cursor: default;
    font: 800 0.82rem/1 var(--v2-font-family);
    margin-top: 1rem;
    min-height: 38px;
    padding: 0.65rem 1rem;
}

.prof-trust {
    background:
        linear-gradient(180deg, rgba(8, 13, 22, 0.94), rgba(10, 22, 40, 0.98)),
        var(--v2-bg-secondary);
}

.prof-trust__layout {
    align-items: start;
    display: grid;
    gap: 3rem;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
}

.prof-trust__copy h2,
.prof-cta h2 {
    font-size: 2.45rem;
}

.prof-trust__copy p,
.prof-cta p {
    color: var(--prof-text-muted);
    font-size: 1rem;
    line-height: 1.68;
    margin: 1rem 0 0;
}

.prof-trust__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.prof-trust__item {
    min-height: 250px;
    padding: 1.3rem;
}

.prof-trust__item h3 {
    font-size: 1.15rem;
    line-height: 1.15;
    margin-top: 1rem;
}

.prof-trust__item p {
    color: var(--prof-text-muted);
    font-size: 0.88rem;
    line-height: 1.58;
    margin: 0.85rem 0 0;
}

.prof-proof,
.prof-plans {
    background: #081423;
}

.prof-walkthrough {
    background: var(--prof-bg-ink);
}

.prof-walkthrough__player {
    margin: 2.5rem auto 0;
    max-width: 980px;
}

.prof-walkthrough__frame {
    aspect-ratio: 16 / 9;
    background: #000;
    border: 1px solid var(--prof-border);
    border-radius: 8px;
    box-shadow:
        0 0 0 1px rgba(255, 160, 0, 0.16),
        0 34px 90px rgba(0, 0, 0, 0.45);
    overflow: hidden;
    position: relative;
}

.prof-walkthrough__frame iframe {
    border: 0;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.prof-plans__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 2.5rem auto 0;
    max-width: 880px;
}

.prof-plan {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--prof-border);
    border-radius: 8px;
    padding: 1.75rem;
}

.prof-plan--pro {
    background: rgba(255, 160, 0, 0.07);
    border-color: var(--prof-border-strong);
}

.prof-plan > span {
    color: var(--prof-gold);
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.prof-plan strong {
    color: var(--prof-text);
    display: block;
    font-size: 2.3rem;
    font-weight: 800;
    line-height: 1.05;
    margin-top: 0.7rem;
}

.prof-plan strong small {
    color: var(--prof-text-muted);
    font-size: 1rem;
    font-weight: 700;
}

.prof-plan em {
    color: var(--prof-text-muted);
    display: block;
    font-size: 0.85rem;
    font-style: normal;
    margin-top: 0.3rem;
}

.prof-plan p {
    color: var(--prof-text-soft);
    font-size: 0.93rem;
    line-height: 1.62;
    margin: 1rem 0 0;
}

.prof-plans__cta {
    margin-top: 2rem;
}

.prof-plans__note {
    color: var(--prof-text-muted);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 1.2rem auto 0;
    max-width: 640px;
    text-align: center;
}

.prof-plans__note a {
    color: var(--prof-gold);
}

.prof-proof__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2.5rem;
}

.prof-quote {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0;
    min-height: 280px;
    padding: 1.5rem;
    position: relative;
}

.prof-quote__mark {
    color: rgba(255, 160, 0, 0.8);
    display: block;
    font-size: 3.2rem;
    font-weight: 900;
    line-height: 0.75;
    margin-bottom: 1rem;
}

.prof-quote p {
    color: var(--prof-text-soft);
    font-size: 1rem;
    line-height: 1.62;
    margin: 0;
}

.prof-quote cite {
    color: var(--prof-text-muted);
    display: block;
    font-style: normal;
    margin-top: 0;
}

.prof-quote strong,
.prof-quote span {
    display: block;
}

.prof-quote .prof-quote__mark {
    color: rgba(255, 160, 0, 0.8);
    display: block;
    font-size: 3.2rem;
    font-weight: 900;
    line-height: 0.75;
    margin-bottom: 1rem;
    margin-top: 0;
}

.prof-quote strong {
    color: var(--prof-text);
    font-size: 0.92rem;
}

.prof-quote span {
    font-size: 0.82rem;
    margin-top: 0.2rem;
}

.prof-quote__person {
    align-items: center;
    display: flex;
    gap: 0.8rem;
    margin-top: 1.35rem;
}

.prof-quote .prof-quote__avatar {
    align-items: center;
    background: rgba(255, 160, 0, 0.12);
    border: 1px solid rgba(255, 160, 0, 0.38);
    border-radius: 999px;
    color: var(--prof-gold);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.82rem;
    font-weight: 900;
    height: 2.55rem;
    justify-content: center;
    line-height: 1;
    margin-top: 0;
    width: 2.55rem;
}

.prof-quote .prof-quote__avatar--img {
    background: none;
    object-fit: cover;
    overflow: hidden;
    padding: 0;
}

.prof-cta {
    background:
        linear-gradient(135deg, rgba(21, 71, 188, 0.72), rgba(10, 22, 40, 0.98)),
        var(--prof-bg-ink);
    text-align: center;
}

.prof-cta .v2-eyebrow {
    margin-bottom: 0.9rem;
}

.prof-cta h2 {
    margin-left: auto;
    margin-right: auto;
    max-width: 820px;
}

.prof-cta p {
    margin-left: auto;
    margin-right: auto;
    max-width: 640px;
}

.prof-cta__row {
    justify-content: center;
    margin-top: 1.7rem;
}

.prof-cta__proofline {
    color: var(--prof-text-muted);
    font-size: 0.85rem;
    margin-top: 2.2rem;
}

@media (max-width: 1100px) {
    .prof-hero__layout,
    .prof-feature,
    .prof-trust__layout {
        gap: 2rem;
    }

    .prof-hero__headline {
        font-size: 3.6rem;
    }

    .prof-feature h3,
    .prof-section-kicker h2,
    .prof-trust__copy h2,
    .prof-cta h2 {
        font-size: 2rem;
    }
}

@media (max-width: 900px) {
    .prof-hero__layout,
    .prof-feature,
    .prof-trust__layout {
        grid-template-columns: 1fr;
    }

    .prof-feature:nth-child(even) .prof-feature__copy,
    .prof-feature:nth-child(even) .prof-feature__visual {
        order: initial;
    }

    .prof-proofbar,
    .prof-friction-grid,
    .prof-trust__grid,
    .prof-proof__grid,
    .prof-plans__grid {
        grid-template-columns: 1fr;
    }

    .prof-suite-map ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .prof-hero__shot img {
        transform: none;
        width: 100%;
    }

    .prof-friction-card,
    .prof-trust__item,
    .prof-quote {
        min-height: 0;
    }
}

@media (max-width: 768px) {
    .prof-hero {
        padding-top: 8.5rem;
    }

    .prof-hero__headline {
        font-size: 2.6rem;
        max-width: 100%;
    }

    .prof-hero__sub,
    .prof-section-kicker p,
    .prof-trust__copy p,
    .prof-cta p {
        font-size: 1rem;
    }

    .prof-feature {
        gap: 2rem;
        padding: 3.1rem 0;
    }

    .prof-feature h3,
    .prof-section-kicker h2,
    .prof-trust__copy h2,
    .prof-cta h2 {
        font-size: 1.72rem;
    }

    .prof-act {
        margin-top: 3rem;
    }

    .prof-act__kicker h2 {
        font-size: 1.5rem;
    }

    .prof-feature-compact {
        grid-template-columns: 1fr;
        margin-top: 1.8rem;
    }

    .prof-ui-preview {
        min-height: 0;
    }

    .prof-suite-map li {
        grid-template-columns: 2.55rem minmax(0, 1fr);
        gap: 0.85rem;
    }

    .prof-suite-map span,
    .prof-suite-map strong {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .prof-hero__shot img {
        max-width: 100%;
        transform: none;
        width: 100%;
    }

    .prof-hero__cta {
        justify-content: flex-start;
    }

    .prof-update-list div {
        grid-template-columns: 1fr;
    }

    .prof-update-list span,
    .prof-update-list em {
        justify-content: flex-start;
        width: fit-content;
    }

    .prof-moment .v2-btn-row .v2-btn,
    .prof-hero__cta .v2-btn,
    .prof-cta__row .v2-btn,
    .prof-plans__cta .v2-btn,
    .prof-feature__cta .v2-btn {
        flex: 0 0 auto;
    }
}

@media (max-width: 480px) {
    .prof-hero {
        padding-bottom: 3.25rem;
    }

    .prof-hero__headline {
        font-size: 2.1rem;
    }

    .prof-suite-map ul {
        grid-template-columns: 1fr;
    }

    .prof-suite-map li,
    .prof-friction-card,
    .prof-trust__item,
    .prof-quote,
    .prof-ui-preview,
    .prof-feature-compact,
    .prof-plan {
        padding: 1rem;
    }

    .prof-proofbar li {
        min-height: 0;
    }

    .prof-answer-card strong {
        font-size: 1.35rem;
    }
}
