/* LaMa-ProofEngine visual system. Theme and builder friendly through scoped variables. */
.lpe-proof, .lpe-archive, .lpe-case-study, .lpe-proof-video {
    --lpe-ink: #161816;
    --lpe-muted: #656862;
    --lpe-paper: #f4f1ea;
    --lpe-surface: #fff;
    --lpe-line: #d9d6cd;
    --lpe-accent: #9b4d2d;
    --lpe-accent-soft: #f1e3da;
    --lpe-dark: #1c211d;
    --lpe-radius-sm: 8px;
    --lpe-radius: 18px;
    --lpe-radius-lg: 28px;
    --lpe-shadow: 0 20px 60px rgba(22, 24, 22, .08);
    box-sizing: border-box;
    color: var(--lpe-ink);
}

.lpe-proof *, .lpe-proof *::before, .lpe-proof *::after,
.lpe-archive *, .lpe-archive *::before, .lpe-archive *::after,
.lpe-case-study *, .lpe-case-study *::before, .lpe-case-study *::after,
.lpe-proof-video *, .lpe-proof-video *::before, .lpe-proof-video *::after { box-sizing: border-box; }

.lpe-proof-grid { display: grid; gap: clamp(1.25rem, 2.4vw, 2rem); grid-template-columns: repeat(var(--lpe-grid-columns, 3), minmax(0, 1fr)); }
.lpe-proof-grid--columns-1 { --lpe-grid-columns: 1; }
.lpe-proof-grid--columns-2 { --lpe-grid-columns: 2; }
.lpe-proof-grid--columns-3 { --lpe-grid-columns: 3; }
.lpe-proof-grid--columns-4 { --lpe-grid-columns: 4; }

/* Cards shared by Gutenberg, Divi, Avada and shortcodes. */
.lpe-proof--card {
    background: var(--lpe-surface);
    border: 1px solid var(--lpe-line);
    border-radius: var(--lpe-radius);
    box-shadow: 0 1px 1px rgba(22, 24, 22, .02);
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    position: relative;
    transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

@media (hover: hover) {
    .lpe-proof--card:hover { border-color: color-mix(in srgb, var(--lpe-accent) 38%, var(--lpe-line)); box-shadow: var(--lpe-shadow); transform: translateY(-5px); }
    .lpe-proof--card:hover .lpe-proof__media img { transform: scale(1.025); }
}

.lpe-proof--card .lpe-proof__media { aspect-ratio: 16 / 10; background: var(--lpe-paper); margin: 0; overflow: hidden; position: relative; }
.lpe-proof--card .lpe-proof__media::after { background: linear-gradient(180deg, transparent 65%, rgba(18, 21, 18, .16)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.lpe-proof--card .lpe-proof__media img,
.lpe-proof--card .lpe-proof__media video,
.lpe-proof--card .lpe-proof__video--embed,
.lpe-proof--card .lpe-proof__video--embed iframe { border: 0; border-radius: 0; display: block; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.75,.2,1); width: 100%; }
.lpe-proof--card .lpe-proof__content { display: flex; flex: 1; flex-direction: column; padding: clamp(1.35rem, 4cqi, 2rem); }
.lpe-proof--card.lpe-proof--no-media::before { background: var(--lpe-accent); content: ""; height: 4px; inset: 0 0 auto; position: absolute; }

.lpe-proof__meta { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 1rem; }
.lpe-proof__meta span, .lpe-case-study__tags span { background: var(--lpe-accent-soft); border-radius: 999px; color: #71351e; font-size: .68rem; font-weight: 750; letter-spacing: .075em; line-height: 1; padding: .55rem .7rem; text-transform: uppercase; }
.lpe-proof__header { margin: 0; }
.lpe-proof__takeaway { color: var(--lpe-ink); font-size: clamp(1.28rem, 7cqi, 1.75rem); font-weight: 680; letter-spacing: -.037em; line-height: 1.13; margin: 0; text-wrap: balance; }
.lpe-proof__summary { color: var(--lpe-muted); font-size: .96rem; line-height: 1.68; margin-top: 1rem; }
.lpe-proof__summary > :first-child { margin-top: 0; }
.lpe-proof__summary > :last-child { margin-bottom: 0; }

.lpe-proof__quote { border: 0; color: var(--lpe-ink); font-size: clamp(1rem, 4.5cqi, 1.16rem); font-style: normal; line-height: 1.55; margin: 1.4rem 0 0; padding: 1.15rem 0 0; position: relative; }
.lpe-proof--card .lpe-proof__quote { border-top: 1px solid var(--lpe-line); }
.lpe-proof__quote-mark { color: var(--lpe-accent); display: block; font-family: Georgia, serif; font-size: 3.25rem; font-weight: 700; height: 1.55rem; line-height: 1; }
.lpe-proof__quote p { margin: 0; }
body.post-type-archive-pe_proof #main .lpe-proof--card .lpe-proof__quote { background: transparent; border: 0; border-top: 1px solid var(--lpe-line); padding: 1.15rem 0 0; }

.lpe-proof__metrics { display: grid; gap: .65rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); margin: 1.4rem 0; }
.lpe-metric-card { background: var(--lpe-paper); border: 1px solid transparent; border-radius: var(--lpe-radius-sm); display: flex; flex-direction: column; margin: 0; min-width: 0; padding: 1rem; }
.lpe-metric-card dt { color: var(--lpe-muted); font-size: .71rem; font-weight: 750; letter-spacing: .07em; order: 2; text-transform: uppercase; }
.lpe-metric-card dd { margin: 0; }
.lpe-metric-card__values { color: var(--lpe-ink); font-size: clamp(1.05rem, 5cqi, 1.35rem); font-weight: 720; letter-spacing: -.025em; line-height: 1.2; margin-bottom: .55rem !important; order: 1; overflow-wrap: anywhere; }
.lpe-metric-card__change { color: #387148; font-size: .85rem; font-weight: 750; margin-top: .4rem !important; order: 3; }
.lpe-metric-card__period { color: var(--lpe-muted); font-size: .76rem; margin-top: .3rem !important; order: 4; }

.lpe-proof__footer { align-items: center; border-top: 1px solid var(--lpe-line); display: flex; gap: 1rem; justify-content: space-between; margin-top: auto; padding-top: 1rem; }
.lpe-proof__person { align-items: center; display: flex; gap: .7rem; min-width: 0; }
.lpe-proof__avatar { align-items: center; background: var(--lpe-dark); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 2rem; font-size: .72rem; font-weight: 750; height: 2rem; justify-content: center; text-transform: uppercase; }
.lpe-proof__attribution, .lpe-proof__period { color: var(--lpe-muted); font-size: .85rem; line-height: 1.4; }
.lpe-proof__link { color: var(--lpe-ink); flex: 0 0 auto; font-size: .83rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.lpe-proof__link span[aria-hidden] { color: var(--lpe-accent); display: inline-block; transition: transform 180ms ease; }
.lpe-proof__link:hover span[aria-hidden] { transform: translateX(4px); }

/* Detail output when a theme or builder keeps control of the single template. */
.lpe-proof--detail { margin-inline: auto; max-width: 980px; }
.lpe-proof--detail .lpe-proof__media { border-radius: var(--lpe-radius-lg); margin: 0 0 clamp(2rem, 5vw, 4rem); overflow: hidden; }
.lpe-proof--detail .lpe-proof__media img, .lpe-proof--detail .lpe-proof__media video { display: block; height: auto; width: 100%; }
.lpe-proof--detail .lpe-proof__video--embed { aspect-ratio: 16 / 9; }
.lpe-proof--detail .lpe-proof__video--embed iframe { border: 0; height: 100%; width: 100%; }
.lpe-proof--detail .lpe-proof__header, .lpe-proof--detail .lpe-proof__summary,
.lpe-proof--detail .lpe-proof__metrics, .lpe-proof--detail .lpe-proof__quote,
.lpe-proof--detail .lpe-proof__story, .lpe-proof--detail > .lpe-proof__attribution { margin-inline: auto; max-width: 760px; }
.lpe-proof--detail .lpe-proof__takeaway { font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.14; }
.lpe-proof--detail .lpe-proof__summary { font-size: 1.08rem; }
.lpe-proof--detail .lpe-proof__quote { font-size: clamp(1.35rem, 3vw, 2rem); margin-block: 2.5rem; }
.lpe-proof--detail > .lpe-proof__attribution { border-top: 1px solid var(--lpe-line); font-weight: 650; margin-top: 2rem; padding-top: 1rem; }

/* Keep generic Avada single-post chrome and typography from turning proofs into blog posts. */
body.single-pe_proof article.type-pe_proof > .fusion-post-title,
body.single-pe_proof article.type-pe_proof > .fusion-meta-info,
body.single-pe_proof article.type-pe_proof > .fusion-sharing-box,
body.single-pe_proof article.type-pe_proof > .fusion-post-slideshow,
body.single-pe_proof article.type-pe_proof > .single-related-posts { display: none; }
body.single-pe_proof #main .lpe-proof--detail .lpe-proof__takeaway { font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.14; margin: 0; }
body.single-pe_proof #main .lpe-proof--detail .lpe-proof__quote { background: var(--lpe-paper); border: 0; border-radius: var(--lpe-radius); padding: clamp(1.4rem, 3vw, 2.25rem); }
body.single-pe_proof #main .lpe-proof__section h3 { color: var(--lpe-accent); font-size: .72rem; font-weight: 750; letter-spacing: .1em; line-height: 1.3; margin: .3rem 0 0; text-transform: uppercase; }
body.single-pe_proof #main .lpe-proof__section p { color: #3e423e; font-size: 1rem; line-height: 1.75; margin: 0; }
body.single-pe_proof #main .lpe-proof__transcript h3 { color: var(--lpe-ink); font-size: .72rem; letter-spacing: .1em; line-height: 1.3; text-transform: uppercase; }
body.single-pe_proof #main .lpe-proof__period { background: var(--lpe-accent-soft); border-radius: 999px; color: #71351e; display: inline-block; margin: 1.5rem 0 0; padding: .55rem .8rem; }

/* Archive. */
.lpe-archive { background: #f7f6f2; min-height: 70vh; }
body.lpe-proofengine-template #main { padding: 0 !important; }
body.lpe-proofengine-template #main > .fusion-row { max-width: none !important; width: 100% !important; }
body.lpe-proofengine-template #main > .fusion-row > .lpe-archive,
body.lpe-proofengine-template #main > .fusion-row > .lpe-case-study { width: 100%; }
.lpe-archive__header { background: var(--lpe-surface); border-bottom: 1px solid var(--lpe-line); color: var(--lpe-ink); overflow: hidden; padding: clamp(1.6rem, 2.8vw, 2.5rem) max(1.25rem, calc((100vw - 1280px) / 2)); position: relative; }
.lpe-archive__header::after { background: var(--lpe-accent); content: ""; height: 2px; left: max(1.25rem, calc((100vw - 1280px) / 2)); position: absolute; top: 0; width: 3.5rem; }
.lpe-archive__header-inner, .lpe-archive__body { margin-inline: auto; max-width: 1280px; position: relative; z-index: 1; }
.lpe-archive__header-inner { align-items: start; display: grid; gap: clamp(1.5rem, 4vw, 4rem); grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .65fr); }
.lpe-archive__eyebrow, .lpe-case-study__eyebrow { align-items: center; color: var(--lpe-accent); display: flex; font-size: .68rem; font-weight: 750; gap: .55rem; letter-spacing: .12em; margin: 0 0 .9rem; text-transform: uppercase; }
.lpe-archive__eyebrow span, .lpe-case-study__eyebrow span { background: currentColor; height: 1px; width: 2rem; }
.lpe-archive__header h1 { color: inherit; font-size: clamp(1.9rem, 3.3vw, 3rem); font-weight: 620; letter-spacing: -.04em; line-height: 1.1; margin: 0; max-width: 20ch; text-wrap: balance; }
.lpe-archive__intro-wrap { border-left: 1px solid var(--lpe-line); padding-left: clamp(1.25rem, 2.5vw, 2.25rem); padding-top: .15rem; }
.lpe-archive__index, .lpe-archive__filter-index { color: #d99a78; display: block; font-size: .7rem; font-weight: 750; letter-spacing: .12em; margin-bottom: .85rem; }
.lpe-archive__intro { color: var(--lpe-muted); font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.7; margin: 0; max-width: 38ch; }
.lpe-archive__intro > :last-child { margin-bottom: 0; }
.lpe-archive__body { padding: clamp(1.75rem, 3.5vw, 3rem) 1.25rem clamp(3.5rem, 7vw, 6rem); }

.lpe-archive__filters { align-items: end; background: var(--lpe-surface); border: 1px solid var(--lpe-line); border-radius: 14px; box-shadow: 0 8px 28px rgba(22,24,22,.045); display: grid; gap: .9rem clamp(1rem, 2vw, 1.75rem); grid-template-columns: minmax(10rem, .65fr) minmax(0, 2fr) auto; padding: clamp(1rem, 1.8vw, 1.35rem); }
.lpe-archive__filter-intro { align-self: center; display: flex; flex-direction: column; gap: .28rem; }
.lpe-archive__filter-intro strong { font-size: 1rem; }
.lpe-archive__filter-intro > span:not(.lpe-archive__filter-index) { color: var(--lpe-muted); font-size: .82rem; line-height: 1.45; }
.lpe-archive__filter-index { margin-bottom: .15rem; }
.lpe-archive__filter-fields { display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(8rem, 1fr)); }
.lpe-archive__filters label > span { color: var(--lpe-muted); display: block; font-size: .68rem; font-weight: 750; letter-spacing: .08em; margin: 0 0 .45rem .1rem; text-transform: uppercase; }
.lpe-archive__filters select { appearance: none; background-color: #faf9f6; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 17px) 52%, calc(100% - 12px) 52%; background-repeat: no-repeat; background-size: 5px 5px; border: 1px solid var(--lpe-line); border-radius: var(--lpe-radius-sm); color: var(--lpe-ink); font: inherit; min-height: 42px; padding: .55rem 2.4rem .55rem .8rem; width: 100%; }
.lpe-archive__filter-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .9rem; }
.lpe-archive__filter-actions button { background: var(--lpe-dark); border: 1px solid var(--lpe-dark); border-radius: var(--lpe-radius-sm); color: #fff; cursor: pointer; font: inherit; font-size: .84rem; font-weight: 750; min-height: 42px; padding: .6rem 1rem; transition: background 180ms ease, transform 180ms ease; white-space: nowrap; }
.lpe-archive__filter-actions button:hover { background: var(--lpe-accent); border-color: var(--lpe-accent); transform: translateY(-1px); }
.lpe-archive__filter-actions a { color: inherit; font-size: .85rem; text-underline-offset: .2em; }

.lpe-archive__result-head { align-items: end; border-bottom: 1px solid var(--lpe-line); display: flex; justify-content: space-between; margin-block: clamp(2.25rem, 4vw, 3.5rem) 1rem; padding-bottom: .75rem; }
.lpe-archive__result-head h2, .lpe-archive__result-head p { margin: 0; }
.lpe-archive__result-head h2 { font-size: clamp(1.55rem, 2.6vw, 2.3rem); letter-spacing: -.04em; }
.lpe-archive__result-count { color: var(--lpe-muted); font-size: .83rem; }
.lpe-proof-grid--archive { --lpe-grid-columns: 4; align-items: stretch; gap: clamp(.9rem, 1.6vw, 1.25rem); }
.lpe-proof-grid--archive.lpe-proof-grid--count-1 { --lpe-grid-columns: 1; }
.lpe-proof-grid--archive.lpe-proof-grid--count-2 { --lpe-grid-columns: 2; }
.lpe-proof-grid--archive.lpe-proof-grid--count-1 .lpe-proof--card { max-width: 24rem; }
.lpe-proof-grid--archive .lpe-proof--card { border-radius: 14px; }
.lpe-proof-grid--archive .lpe-proof__media { aspect-ratio: 16 / 9; }
.lpe-proof-grid--archive .lpe-proof__content { padding: clamp(.9rem, 4cqi, 1.15rem); }
.lpe-proof-grid--archive .lpe-proof__meta { gap: .3rem; margin-bottom: .65rem; }
.lpe-proof-grid--archive .lpe-proof__meta span { font-size: .58rem; padding: .4rem .5rem; }
.lpe-proof-grid--archive .lpe-proof__takeaway { font-size: clamp(1rem, 6cqi, 1.25rem); line-height: 1.2; }
.lpe-proof-grid--archive .lpe-proof__summary { display: -webkit-box; font-size: .84rem; line-height: 1.5; margin-top: .65rem; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.lpe-proof-grid--archive .lpe-proof__quote { display: -webkit-box; font-size: .88rem; line-height: 1.45; margin-top: .8rem; overflow: hidden; padding-top: .75rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.lpe-proof-grid--archive .lpe-proof__quote-mark { display: inline; font-size: 1.55rem; height: auto; margin-right: .2rem; vertical-align: -.2em; }
.lpe-proof-grid--archive .lpe-proof__quote p { display: inline; }
.lpe-proof-grid--archive .lpe-proof__metrics { gap: .4rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: .85rem 0; }
.lpe-proof-grid--archive .lpe-metric-card { padding: .65rem; }
.lpe-proof-grid--archive .lpe-metric-card__values { font-size: .95rem; margin-bottom: .35rem !important; }
.lpe-proof-grid--archive .lpe-metric-card dt, .lpe-proof-grid--archive .lpe-metric-card__period { font-size: .62rem; }
.lpe-proof-grid--archive .lpe-metric-card__change { font-size: .72rem; }
.lpe-proof-grid--archive .lpe-proof__footer { gap: .6rem; padding-top: .75rem; }
.lpe-proof-grid--archive .lpe-proof__person { gap: .5rem; }
.lpe-proof-grid--archive .lpe-proof__avatar { flex-basis: 1.7rem; font-size: .62rem; height: 1.7rem; }
.lpe-proof-grid--archive .lpe-proof__attribution { font-size: .72rem; }
.lpe-proof-grid--archive .lpe-proof__link { font-size: .72rem; }
.lpe-archive .navigation.pagination { margin-top: 3rem; }
.lpe-archive .nav-links { display: flex; flex-wrap: wrap; gap: .45rem; }
.lpe-archive .page-numbers { align-items: center; background: var(--lpe-surface); border: 1px solid var(--lpe-line); border-radius: var(--lpe-radius-sm); color: inherit; display: inline-flex; justify-content: center; min-height: 44px; min-width: 44px; padding: .5rem; text-decoration: none; }
.lpe-archive .page-numbers.current { background: var(--lpe-dark); border-color: var(--lpe-dark); color: #fff; }
.lpe-archive__empty { background: var(--lpe-surface); border: 1px solid var(--lpe-line); border-radius: var(--lpe-radius); padding: clamp(2rem, 5vw, 4rem); }

/* Single testimonial and case study. */
.lpe-case-study { background: #f7f6f2; }
.lpe-case-study__hero { background: var(--lpe-surface); border-bottom: 1px solid var(--lpe-line); color: var(--lpe-ink); padding: clamp(1.1rem, 2vw, 1.5rem) 1.25rem clamp(1.5rem, 3vw, 2.25rem); }
.lpe-case-study__hero-inner, .lpe-case-study__body { margin-inline: auto; max-width: 980px; }
.lpe-case-study__back { color: var(--lpe-muted); display: inline-block; font-size: .78rem; margin-bottom: clamp(1.15rem, 2.5vw, 1.75rem); text-decoration-thickness: 1px; text-underline-offset: .25em; }
.lpe-case-study__hero-grid { align-items: start; display: grid; gap: clamp(1.5rem, 3.5vw, 3rem); grid-template-columns: minmax(0, 1.45fr) minmax(14rem, .55fr); }
.lpe-case-study__hero h1 { color: inherit; font-size: clamp(1.65rem, 2.6vw, 2.35rem); font-weight: 620; letter-spacing: -.035em; line-height: 1.14; margin: 0; max-width: 26ch; text-wrap: balance; }
body .lpe-case-study__hero h1 { color: var(--lpe-ink); font-size: clamp(1.65rem, 2.6vw, 2.35rem); line-height: 1.14; margin: 0; }
.lpe-case-study__intro-card { border-left: 1px solid var(--lpe-line); padding-left: clamp(1rem, 2vw, 1.6rem); padding-top: .1rem; }
.lpe-case-study__lede { color: var(--lpe-muted); font-size: clamp(.9rem, 1.15vw, 1rem); line-height: 1.58; }
.lpe-case-study__lede > :first-child { margin-top: 0; }
.lpe-case-study__client { display: flex; flex-direction: column; gap: .18rem; margin: 1rem 0 0; }
.lpe-case-study__client span { color: var(--lpe-accent); font-size: .66rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.lpe-case-study__client strong { color: var(--lpe-ink); font-size: .95rem; }
.lpe-case-study__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin: .8rem 0 0; }
.lpe-case-study__tags span { background: var(--lpe-accent-soft); color: #71351e; }
.lpe-case-study__body { padding: clamp(2rem, 4.5vw, 4rem) 1.25rem; }
.lpe-case-study__editorial { color: #363a36; font-size: 1rem; line-height: 1.7; margin-bottom: clamp(2rem, 4vw, 3.5rem); max-width: 65ch; }
.lpe-case-study__editorial > :first-child { margin-top: 0; }

.lpe-proof--case-study { display: grid; gap: clamp(1.5rem, 3.5vw, 3rem); grid-template-columns: minmax(0, 1fr) minmax(12rem, .32fr); margin-inline: auto; max-width: 900px; }
.lpe-proof--case-study .lpe-proof__media { background: var(--lpe-dark); border-radius: 14px; grid-column: 1 / -1; justify-self: center; margin: 0; max-width: 820px; overflow: hidden; width: 100%; }
.lpe-proof--case-study .lpe-proof__video { aspect-ratio: 16 / 9; }
.lpe-proof--case-study .lpe-proof__media img, .lpe-proof--case-study .lpe-proof__media video { display: block; height: 100%; object-fit: contain; width: 100%; }
.lpe-proof--case-study .lpe-proof__video--embed { aspect-ratio: 16 / 9; }
.lpe-proof--case-study .lpe-proof__video--embed iframe { border: 0; height: 100%; width: 100%; }
.lpe-proof--case-study .lpe-proof__metrics, .lpe-proof--case-study .lpe-proof__quote, .lpe-proof--case-study .lpe-proof__story { grid-column: 1; }
.lpe-proof--case-study .lpe-proof__attribution { align-self: start; border-top: 1px solid var(--lpe-line); grid-column: 2; grid-row: 2; padding-top: 1rem; }
.lpe-proof--case-study .lpe-proof__period { grid-column: 2; }
.lpe-proof--case-study .lpe-proof__quote { font-size: clamp(1.2rem, 2.2vw, 1.65rem); letter-spacing: -.02em; line-height: 1.4; margin: 0; padding: 0; }
.lpe-proof--case-study .lpe-proof__metrics { margin: 0; }
.lpe-proof--case-study .lpe-metric-card { padding: clamp(.9rem, 1.5vw, 1.2rem); }
.lpe-proof__story { border-top: 1px solid var(--lpe-line); }
.lpe-proof__section { display: grid; gap: 1rem; grid-template-columns: minmax(8rem, .35fr) minmax(0, 1fr); margin: 0; padding: 1.4rem 0; }
.lpe-proof__section + .lpe-proof__section { border-top: 1px solid var(--lpe-line); }
.lpe-proof__section h3, .lpe-proof__transcript h3 { font-size: .72rem; font-weight: 750; letter-spacing: .1em; margin: .3rem 0 0; text-transform: uppercase; }
.lpe-proof__section p { color: #3e423e; line-height: 1.75; margin: 0; }
.lpe-proof__transcript { background: var(--lpe-paper); border-radius: 14px; margin-top: 1.5rem; padding: clamp(1.1rem, 2vw, 1.6rem); }
.lpe-proof__transcript p { color: var(--lpe-muted); line-height: 1.75; }

/* Standalone video and builder previews. */
.lpe-proof-video { background: var(--lpe-dark); border-radius: var(--lpe-radius); box-shadow: var(--lpe-shadow); margin: 0; max-width: 100%; overflow: hidden; }
.lpe-proof-video video, .lpe-proof-video iframe, .lpe-proof-video img { border: 0; display: block; height: auto; max-width: 100%; width: 100%; }
.lpe-proof-video .lpe-proof__video--embed { aspect-ratio: 16 / 9; }
.lpe-proof-video .lpe-proof__video--embed iframe { height: 100%; }
.lpe-proof__video-poster { color: #fff; display: grid; height: 100%; min-height: 100%; place-items: center; position: relative; text-decoration: none; width: 100%; }
.lpe-proof__video-poster > * { grid-area: 1 / 1; }
.lpe-proof__video-poster--placeholder { background: radial-gradient(circle at 70% 20%, rgba(255,255,255,.12), transparent 28%), linear-gradient(145deg, #303833, #171b18); }
.lpe-proof__video-poster--placeholder::before { border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; inset: 15%; position: absolute; }
.lpe-proof__play { align-items: center; background: var(--lpe-accent); border: 5px solid rgba(255,255,255,.9); border-radius: 50%; box-shadow: 0 8px 28px rgba(0,0,0,.22); color: #fff; display: flex; font-size: 1.15rem; height: 4.25rem; justify-content: center; width: 4.25rem; }
.lpe-proof__video-label { align-self: end; color: rgba(255,255,255,.78); font-size: .72rem; font-weight: 750; letter-spacing: .12em; margin-bottom: 1.5rem; text-transform: uppercase; }
.lpe-divi5-preview { align-items: flex-start; background: var(--lpe-paper); border: 1px solid var(--lpe-line); border-left: 4px solid var(--lpe-accent); border-radius: var(--lpe-radius-sm); display: flex; flex-direction: column; gap: .35rem; padding: 1.15rem; }
.lpe-divi5-preview span { color: var(--lpe-muted); font-size: .85em; }

/* Public testimonial submission. */
.lpe-submission {
    --lpe-ink: #161816;
    --lpe-muted: #656862;
    --lpe-paper: #f4f1ea;
    --lpe-surface: #fff;
    --lpe-line: #d9d6cd;
    --lpe-accent: #9b4d2d;
    --lpe-dark: #1c211d;
    background: var(--lpe-surface);
    border: 1px solid var(--lpe-line);
    border-radius: 24px;
    box-shadow: 0 24px 80px rgba(22,24,22,.08);
    color: var(--lpe-ink);
    margin-inline: auto;
    max-width: 960px;
    min-width: 0;
    overflow: hidden;
    width: 100%;
}
.lpe-submission *, .lpe-submission *::before, .lpe-submission *::after { box-sizing: border-box; }
.lpe-submission .screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.lpe-submission__header { background: var(--lpe-surface); border-bottom: 1px solid var(--lpe-line); color: var(--lpe-ink); padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.5rem, 4vw, 3rem); }
.lpe-submission__eyebrow { color: var(--lpe-accent); font-size: .67rem; font-weight: 750; letter-spacing: .12em; margin: 0 0 .7rem; text-transform: uppercase; }
.lpe-submission__header h2 { color: inherit; font-size: clamp(1.65rem, 2.8vw, 2.4rem); letter-spacing: -.035em; line-height: 1.12; margin: 0; }
.lpe-submission__header > p:last-child { color: var(--lpe-muted); font-size: .96rem; line-height: 1.65; margin: .9rem 0 0; max-width: 60ch; }
.lpe-submission__full-app { align-items: center; background: #f7f5f0; border-bottom: 1px solid var(--lpe-line); display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: 1rem clamp(1.5rem, 4vw, 3rem); }
.lpe-submission__full-app > div:first-child { align-items: center; display: flex; gap: .8rem; min-width: 0; }
.lpe-submission__full-app-icon { align-items: center; background: var(--lpe-dark); border-radius: 9px; color: #fff; display: inline-flex; flex: 0 0 2.5rem; font-size: 1rem; height: 2.5rem; justify-content: center; }
.lpe-submission__full-app strong { display: block; font-size: .82rem; }
.lpe-submission__full-app p { color: var(--lpe-muted); font-size: .72rem; line-height: 1.45; margin: .2rem 0 0; }
.lpe-submission__full-app > button { background: transparent; border: 1px solid var(--lpe-dark); border-radius: 7px; color: var(--lpe-dark); cursor: pointer; font: inherit; font-size: .76rem; font-weight: 750; min-height: 42px; padding: .55rem .8rem; }
.lpe-submission__full-app > button:hover { background: var(--lpe-dark); color: #fff; }
.lpe-submission__full-app-panel { align-items: center; background: #fff; border: 1px solid var(--lpe-line); border-radius: 10px; display: grid; gap: 1rem; grid-column: 1 / -1; grid-template-columns: minmax(9rem, 12rem) minmax(0, 1fr); padding: 1rem; }
.lpe-submission__full-app-panel[hidden] { display: none !important; }
.lpe-submission__full-app-panel canvas { display: block; height: auto; image-rendering: pixelated; max-width: 12rem; width: 100%; }
.lpe-submission__full-app-panel a { color: var(--lpe-accent); display: block; font-size: .7rem; margin-top: .35rem; overflow-wrap: anywhere; }
.lpe-submission__full-app-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; }
.lpe-submission__full-app-actions button { background: #fff; border: 1px solid var(--lpe-line); border-radius: 6px; color: var(--lpe-ink); cursor: pointer; font: inherit; font-size: .72rem; font-weight: 700; min-height: 38px; padding: .45rem .65rem; }
.lpe-submission--mobile { border-radius: 18px; box-shadow: 0 18px 60px rgba(22,24,22,.08); }
.lpe-submission__form { min-width: 0; padding: clamp(1.5rem, 5vw, 4rem); }
.lpe-submission__progress { border-bottom: 1px solid var(--lpe-line); margin-bottom: clamp(2rem, 5vw, 3.5rem); padding-bottom: 1.4rem; }
.lpe-submission__progress[hidden] { display: none !important; }
.lpe-submission__progress ol { display: grid; gap: .45rem; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); list-style: none; margin: 0; padding: 0; }
.lpe-submission__progress li { margin: 0; padding: 0; }
.lpe-submission__progress button { align-items: center; background: transparent; border: 0; color: var(--lpe-muted); cursor: pointer; display: flex; font: inherit; gap: .65rem; margin: 0; padding: .55rem .35rem; text-align: left; width: 100%; }
.lpe-submission__progress button span { align-items: center; border: 1px solid var(--lpe-line); border-radius: 50%; display: inline-flex; flex: 0 0 2rem; font-size: .62rem; font-style: normal; font-weight: 800; height: 2rem; justify-content: center; letter-spacing: .06em; }
.lpe-submission__progress button em { font-size: .72rem; font-style: normal; font-weight: 700; line-height: 1.25; }
.lpe-submission__progress button.is-current { color: var(--lpe-ink); }
.lpe-submission__progress button.is-current span { background: var(--lpe-dark); border-color: var(--lpe-dark); color: #fff; }
.lpe-submission__progress button.is-complete { color: #326a43; }
.lpe-submission__progress button.is-complete span { background: #eaf5ed; border-color: #9bc5a6; }
.lpe-submission__progress button:disabled { cursor: default; opacity: .55; }
.lpe-submission__upload-reminder { background: #fff7e2; border-left: 3px solid #c38819; color: #6a4a0c; font-size: .8rem; margin: 1rem 0 0; padding: .75rem .9rem; }
.lpe-submission__section { border: 0; border-bottom: 1px solid var(--lpe-line); display: grid; gap: 1.25rem; margin: 0; max-width: 100%; min-inline-size: 0; min-width: 0; padding: 0 0 clamp(2rem, 5vw, 3.5rem); }
.lpe-submission__form.is-enhanced .lpe-submission__section[hidden], .lpe-submission__form.is-enhanced [data-lpe-submit-area][hidden] { display: none !important; }
.lpe-submission__form.is-enhanced .lpe-submission__section { border-bottom: 0; min-height: 22rem; padding-bottom: 0; }
.lpe-submission__form.is-enhanced .lpe-submission__section + .lpe-submission__section { padding-top: 0; }
.lpe-submission__section + .lpe-submission__section { padding-top: clamp(2rem, 5vw, 3.5rem); }
.lpe-submission__section legend { align-items: center; display: flex; font-size: clamp(1.2rem, 2.5vw, 1.65rem); font-weight: 700; gap: .8rem; letter-spacing: -.025em; margin-bottom: 1.5rem; padding: 0; width: 100%; }
.lpe-submission__section legend span { align-items: center; background: var(--lpe-paper); border-radius: 50%; color: var(--lpe-accent); display: inline-flex; flex: 0 0 2.2rem; font-size: .68rem; height: 2.2rem; justify-content: center; letter-spacing: .08em; }
.lpe-submission__grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lpe-submission__field { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
.lpe-submission__field > span { font-size: .78rem; font-weight: 750; letter-spacing: .025em; }
.lpe-submission__field em { color: var(--lpe-accent); font-style: normal; }
.lpe-submission__field input, .lpe-submission__field textarea, .lpe-submission__field select { background: #fbfaf8; border: 1px solid var(--lpe-line); border-radius: 8px; color: var(--lpe-ink); font: inherit; line-height: 1.45; margin: 0; min-height: 50px; padding: .8rem .9rem; width: 100%; }
.lpe-submission__field textarea { min-height: 7.5rem; resize: vertical; }
.lpe-submission__field input:focus, .lpe-submission__field textarea:focus, .lpe-submission__field select:focus { border-color: var(--lpe-accent); box-shadow: 0 0 0 3px rgba(155,77,45,.13); outline: 0; }
.lpe-submission__file { background: var(--lpe-paper); border: 1px dashed #bcb7ad; border-radius: 12px; padding: 1.2rem; }
.lpe-submission__file input { background: transparent; border: 0; min-height: auto; padding: .4rem 0; }
.lpe-submission__file input::file-selector-button { background: var(--lpe-surface); border: 1px solid var(--lpe-line); border-radius: 6px; color: var(--lpe-ink); cursor: pointer; font: inherit; font-size: .82rem; font-weight: 700; margin-right: .75rem; padding: .65rem .8rem; }
.lpe-submission__field small { color: var(--lpe-muted); font-size: .75rem; }
.lpe-submission__file-preview { background: #fff; border: 1px solid var(--lpe-line); border-radius: 8px; display: grid; gap: .65rem; overflow: hidden; padding: .55rem; }
.lpe-submission__file-preview[hidden], .lpe-submission__file-status[hidden], .lpe-submission__check[hidden] { display: none !important; }
.lpe-submission__file-preview img { aspect-ratio: 16 / 9; border-radius: 5px; display: block; object-fit: cover; width: 100%; }
.lpe-submission__file-preview span, .lpe-submission__file-status { color: var(--lpe-muted); font-size: .72rem; overflow-wrap: anywhere; }
.lpe-submission__file-status { background: #edf5ee; border-radius: 6px; color: #285b37; display: block; padding: .7rem .8rem; }
.lpe-submission__recorder { background: var(--lpe-surface); border: 1px solid var(--lpe-line); border-radius: 10px; display: grid; gap: .8rem; padding: .8rem; position: relative; }
.lpe-submission__recorder[hidden], .lpe-submission__recorder-stage[hidden], .lpe-submission__recording-badge[hidden], .lpe-submission__countdown[hidden], .lpe-submission__recorder-actions button[hidden], .lpe-submission__file-divider[hidden], .lpe-submission__transfer[hidden] { display: none !important; }
.lpe-submission__recorder-stage { background: #111; border-radius: 7px; margin-inline: auto; overflow: hidden; position: relative; width: 100%; }
.lpe-submission__recorder-stage video { aspect-ratio: 16 / 9; background: #111; display: block; height: auto; object-fit: contain; width: 100%; }
.lpe-submission__recorder-stage.is-portrait { max-width: 30rem; }
.lpe-submission__recorder-stage.is-portrait video { aspect-ratio: 9 / 16; }
.lpe-submission__recorder-stage.is-live.is-front-facing video { transform: scaleX(-1); }
.lpe-submission__recording-badge { align-items: center; background: rgba(17,17,17,.78); border-radius: 999px; color: #fff; display: inline-flex; font-size: .68rem; font-weight: 750; gap: .45rem; left: .75rem; letter-spacing: .04em; padding: .45rem .65rem; position: absolute; top: .75rem; }
.lpe-submission__recording-badge::before { animation: lpe-recording-pulse 1.3s ease-in-out infinite; background: #ee5c4a; border-radius: 50%; content: ""; height: .55rem; width: .55rem; }
.lpe-submission__countdown { align-items: center; background: rgba(17,17,17,.7); color: #fff; display: flex; font-size: clamp(3.5rem, 10vw, 6rem); font-weight: 800; inset: 0; justify-content: center; line-height: 1; position: absolute; }
.lpe-submission__guidance { background: #faf9f6; border: 1px solid var(--lpe-line); border-radius: 8px; display: grid; gap: .55rem; padding: .75rem .8rem; }
.lpe-submission__guidance-head { align-items: center; color: var(--lpe-muted); display: flex; font-size: .64rem; font-weight: 750; justify-content: space-between; letter-spacing: .08em; text-transform: uppercase; }
.lpe-submission__guidance > p { color: var(--lpe-ink); font-size: .88rem; font-weight: 650; line-height: 1.45; margin: 0; min-height: 2.55em; }
.lpe-submission__guidance-actions { display: flex; gap: .4rem; justify-content: flex-end; }
.lpe-submission__guidance-actions button { align-items: center; background: var(--lpe-surface); border: 1px solid var(--lpe-line); border-radius: 50%; color: var(--lpe-ink); cursor: pointer; display: inline-flex; font: inherit; height: 2rem; justify-content: center; padding: 0; width: 2rem; }
.lpe-submission__guidance-actions button:hover:not(:disabled) { border-color: var(--lpe-accent); color: var(--lpe-accent); }
.lpe-submission__guidance-actions button:disabled { cursor: default; opacity: .35; }
.lpe-submission__recorder-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.lpe-submission__record-button { background: var(--lpe-dark); border: 1px solid var(--lpe-dark); border-radius: 7px; color: #fff; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 750; min-height: 46px; padding: .65rem .9rem; touch-action: manipulation; }
.lpe-submission__record-button:hover { background: var(--lpe-accent); border-color: var(--lpe-accent); }
.lpe-submission__record-button--stop { background: #963929; border-color: #963929; }
.lpe-submission__record-button--secondary { background: transparent; border-color: var(--lpe-line); color: var(--lpe-ink); }
.lpe-submission__record-button--secondary:hover { background: var(--lpe-paper); border-color: var(--lpe-ink); color: var(--lpe-ink); }
.lpe-submission__record-button:disabled { cursor: wait; opacity: .65; }
.lpe-submission__recorder-status { color: var(--lpe-muted); font-size: .75rem; line-height: 1.45; margin: 0; min-height: 1.1em; }
.lpe-submission__mobile-hint { color: var(--lpe-muted); display: none; font-size: .72rem; line-height: 1.45; margin: 0; }
.lpe-submission__file-divider { align-items: center; color: var(--lpe-muted); display: flex; font-size: .68rem !important; font-weight: 650 !important; gap: .65rem; letter-spacing: 0 !important; text-transform: none; }
.lpe-submission__file-divider::before, .lpe-submission__file-divider::after { background: var(--lpe-line); content: ""; flex: 1; height: 1px; }
.lpe-submission__file-input { display: block; }
.lpe-submission [data-lpe-video-poster] { display: none !important; }
.lpe-submission__handoff { background: #fff; border: 1px solid var(--lpe-line); border-radius: 9px; display: grid; gap: .55rem; padding: .8rem; }
.lpe-submission__handoff > button { background: var(--lpe-dark); border: 1px solid var(--lpe-dark); border-radius: 7px; color: #fff; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 750; min-height: 46px; padding: .65rem .9rem; width: 100%; }
.lpe-submission__handoff > span { color: var(--lpe-muted); font-size: .72rem; line-height: 1.45; }
.lpe-submission__handoff > div { background: #faf9f6; border-radius: 7px; display: grid; gap: .55rem; padding: .75rem; }
.lpe-submission__handoff > div[hidden], .lpe-submission__handoff-qr[hidden] { display: none !important; }
.lpe-submission__handoff > div > strong { font-size: .76rem; }
.lpe-submission__handoff-qr { align-items: center; background: #fff; border: 1px solid var(--lpe-line); border-radius: 8px; display: grid; gap: .55rem; justify-items: center; padding: .75rem; }
.lpe-submission__handoff-qr canvas { display: block; height: auto; image-rendering: pixelated; max-width: 16rem; width: min(100%, 16rem); }
.lpe-submission__handoff-qr span { color: var(--lpe-muted); font-size: .68rem; text-align: center; }
.lpe-submission__handoff a { color: var(--lpe-accent); font-size: .72rem; overflow-wrap: anywhere; }
.lpe-submission__handoff-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.lpe-submission__handoff > div button { background: #fff; border: 1px solid var(--lpe-line); border-radius: 6px; color: var(--lpe-ink); cursor: pointer; font: inherit; font-size: .72rem; font-weight: 700; min-height: 38px; padding: .45rem .65rem; }
.lpe-submission__handoff p { color: var(--lpe-muted); font-size: .72rem; line-height: 1.45; margin: 0; }
.lpe-submission__handoff.is-ready { background: #edf5ee; border-color: #9bc5a6; }
.lpe-submission__handoff.is-ready > button, .lpe-submission__handoff.is-ready > span { display: none; }
@keyframes lpe-recording-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .55; transform: scale(.78); } }
.lpe-submission__field-error { color: #9a2f1d; display: block; font-size: .74rem; font-weight: 650; line-height: 1.35; }
.lpe-submission [aria-invalid="true"] { border-color: #b44725 !important; box-shadow: 0 0 0 2px rgba(180,71,37,.12) !important; }
.lpe-submission__consent { gap: .7rem; }
.lpe-submission__check { align-items: flex-start; background: #faf9f6; border: 1px solid var(--lpe-line); border-radius: 8px; cursor: pointer; display: flex; gap: .75rem; line-height: 1.5; padding: .9rem 1rem; }
.lpe-submission__check input { flex: 0 0 auto; height: 1.1rem; margin: .2rem 0 0; width: 1.1rem; }
.lpe-submission__check span { font-size: .88rem; }
.lpe-submission__check a { color: var(--lpe-accent); margin-left: .25rem; text-underline-offset: .18em; }
.lpe-submission__submit { align-items: center; display: flex; gap: 1.25rem; justify-content: space-between; padding-top: clamp(2rem, 5vw, 3rem); }
.lpe-submission__submit button { align-items: center; background: var(--lpe-dark); border: 0; border-radius: 8px; color: #fff; cursor: pointer; display: inline-flex; font: inherit; font-weight: 750; gap: .8rem; min-height: 52px; padding: .8rem 1.25rem; transition: background 180ms ease, transform 180ms ease; }
.lpe-submission__submit button:hover { background: var(--lpe-accent); transform: translateY(-1px); }
.lpe-submission__submit button:disabled { cursor: wait; opacity: .7; transform: none; }
.lpe-submission__submit button span { font-size: 1.15rem; }
.lpe-submission__submit p { color: var(--lpe-muted); font-size: .78rem; margin: 0; }
.lpe-submission__transfer { background: #faf9f6; border: 1px solid var(--lpe-line); border-radius: 9px; flex: 1 0 100%; padding: .85rem 1rem; }
.lpe-submission__transfer > div { align-items: center; display: flex; font-size: .75rem; justify-content: space-between; margin-bottom: .55rem; }
.lpe-submission__transfer strong { font-size: .75rem; }
.lpe-submission__transfer progress { accent-color: var(--lpe-accent); display: block; height: .65rem; width: 100%; }
.lpe-submission__transfer p { line-height: 1.4; margin-top: .55rem; }
.lpe-submission__step-nav { align-items: center; border-top: 1px solid var(--lpe-line); display: flex; gap: .8rem; justify-content: flex-end; margin-top: 1rem; padding-top: 1.5rem; }
.lpe-submission__next, .lpe-submission__back { border-radius: 7px; cursor: pointer; font: inherit; font-size: .84rem; font-weight: 750; min-height: 44px; padding: .65rem 1rem; }
.lpe-submission__next { background: var(--lpe-dark); border: 1px solid var(--lpe-dark); color: #fff; }
.lpe-submission__next:hover { background: var(--lpe-accent); border-color: var(--lpe-accent); }
.lpe-submission__back { background: transparent; border: 1px solid var(--lpe-line); color: var(--lpe-ink); }
.lpe-submission__back:hover, .lpe-submission__submit > .lpe-submission__back:hover { background: transparent; border-color: var(--lpe-ink); color: var(--lpe-ink); transform: none; }
.lpe-submission__submit > .lpe-submission__back { margin-right: auto; }
.lpe-submission__notice { border-left: 4px solid; line-height: 1.55; margin: 1.5rem clamp(1.5rem, 5vw, 4rem) 0; padding: 1rem 1.2rem; }
.lpe-submission__notice strong { display: block; }
.lpe-submission__notice--success { background: #eef7f0; border-color: #387148; color: #245231; }
.lpe-submission__notice--error { background: #fff2ed; border-color: #b44725; color: #7b321c; }
.lpe-submission__trap { height: 1px; left: -10000px; overflow: hidden; position: absolute; top: auto; width: 1px; }
.lpe-submission :focus-visible { outline: 3px solid #d6784f; outline-offset: 3px; }

.lpe-proof a:focus-visible, .lpe-proof button:focus-visible,
.lpe-archive select:focus-visible, .lpe-archive button:focus-visible,
.lpe-archive a:focus-visible, .lpe-case-study a:focus-visible { outline: 3px solid #d6784f; outline-offset: 3px; }

@media (max-width: 1080px) {
    .lpe-archive__filters { grid-template-columns: 1fr; }
    .lpe-archive__filter-intro { max-width: 35rem; }
    .lpe-proof-grid--columns-4 { --lpe-grid-columns: 2; }
    .lpe-proof-grid--archive { --lpe-grid-columns: 3; }
    .lpe-proof-grid--archive.lpe-proof-grid--count-1 { --lpe-grid-columns: 1; }
    .lpe-proof-grid--archive.lpe-proof-grid--count-2 { --lpe-grid-columns: 2; }
}

@media (max-width: 782px) {
    .lpe-proof-grid { grid-template-columns: 1fr; }
    .lpe-archive__header-inner, .lpe-case-study__hero-grid { grid-template-columns: 1fr; }
    .lpe-archive__header h1, .lpe-case-study__hero h1 { max-width: 18ch; }
    .lpe-case-study__hero h1 { max-width: 28ch; }
    .lpe-archive__intro-wrap, .lpe-case-study__intro-card { border-left: 0; border-top: 1px solid var(--lpe-line); max-width: 35rem; padding-left: 0; padding-top: 1.1rem; }
    .lpe-archive__filter-fields { grid-template-columns: 1fr; }
    .lpe-archive__result-head { align-items: flex-start; flex-direction: column; gap: .5rem; }
    .lpe-proof--case-study { display: block; }
    .lpe-case-study__body { padding-block: 1.75rem 2.75rem; }
    .lpe-proof--case-study > * + * { margin-top: 1.5rem; }
    .lpe-proof--case-study .lpe-proof__attribution { margin-top: 1rem; }
    .lpe-proof--case-study .lpe-proof__media { border-radius: 10px; }
    .lpe-proof__section { grid-template-columns: 1fr; }
    .lpe-proof__footer { align-items: flex-start; flex-direction: column; }
    .lpe-proof-grid--archive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lpe-proof-grid--archive.lpe-proof-grid--count-1 { grid-template-columns: 1fr; }
    .lpe-submission__grid { grid-template-columns: 1fr; }
    .lpe-submission__full-app { align-items: stretch; grid-template-columns: 1fr; }
    .lpe-submission__full-app > button { width: 100%; }
    .lpe-submission__full-app-panel { grid-template-columns: 1fr; justify-items: center; text-align: center; }
    .lpe-submission__full-app-actions { justify-content: center; }
    .lpe-submission__video-field { order: -1; padding: .8rem; }
    .lpe-submission__recorder { border: 0; gap: .7rem; margin-inline: -.15rem; padding: .15rem; }
    .lpe-submission__recorder-stage.is-portrait { max-width: calc(70vh * .5625); max-width: calc(70svh * .5625); }
    .lpe-submission__recorder.is-recording .lpe-submission__guidance { backdrop-filter: blur(8px); background: rgba(17,17,17,.78); border-color: rgba(255,255,255,.2); margin: -7.4rem .55rem 0; z-index: 2; }
    .lpe-submission__recorder.is-recording .lpe-submission__guidance-head { color: rgba(255,255,255,.72); }
    .lpe-submission__recorder.is-recording .lpe-submission__guidance > p { color: #fff; }
    .lpe-submission__recorder.is-recording .lpe-submission__guidance-actions button { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.28); color: #fff; }
    .lpe-submission__recorder-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lpe-submission__record-button { font-size: .82rem; min-height: 50px; width: 100%; }
    .lpe-submission__record-button--stop, .lpe-submission__recorder-actions [data-lpe-record-start] { grid-column: 1 / -1; }
    .lpe-submission__mobile-hint { display: block; }
    .lpe-submission__file input::file-selector-button { min-height: 46px; }
    .lpe-submission__submit { align-items: flex-start; flex-direction: column; }
    .lpe-submission__submit button { justify-content: space-between; width: 100%; }
    .lpe-submission__progress ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lpe-submission__progress button em { font-size: .67rem; }
    .lpe-submission__step-nav { justify-content: stretch; }
    .lpe-submission__step-nav button { flex: 1; }
    .lpe-submission__guidance > p { min-height: 0; }
}

@media (max-width: 620px) {
    .lpe-proof-grid--archive { grid-template-columns: 1fr; }
    .lpe-proof-grid--archive.lpe-proof-grid--count-1 .lpe-proof--card { max-width: none; }
}

@media (max-width: 420px) {
    .lpe-submission__form { padding-inline: 1rem; }
    .lpe-submission__video-field { border-left: 0; border-right: 0; border-radius: 0; margin-inline: -.25rem; padding-inline: .45rem; }
    .lpe-submission__recorder.is-recording .lpe-submission__guidance { margin-inline: .35rem; }
    .lpe-submission__guidance > p { font-size: .84rem; }
    .lpe-submission__recorder-actions { grid-template-columns: 1fr; }
    .lpe-submission__record-button { grid-column: 1 !important; }
}

@media (prefers-reduced-motion: reduce) {
    .lpe-proof *, .lpe-proof *::before, .lpe-proof *::after,
    .lpe-archive *, .lpe-archive *::before, .lpe-archive *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
    .lpe-submission__recording-badge::before { animation: none; }
}

.lpe-proof-showcase { display: grid; gap: clamp(1rem, 2vw, 1.5rem); }
.lpe-proof-showcase--columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lpe-proof-showcase--columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lpe-proof-showcase--columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lpe-proof-showcase--wall { align-items: start; }
.lpe-proof-showcase--slider { display: flex; gap: 1rem; overflow-x: auto; padding: .25rem .25rem 1rem; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.lpe-proof-showcase--slider > .lpe-proof { flex: 0 0 min(85vw, 28rem); scroll-snap-align: start; }
.lpe-proof-badge { align-items: center; background: var(--lpe-surface); border: 1px solid var(--lpe-line); border-radius: 999px; display: inline-flex; gap: .65rem; padding: .55rem .9rem; }
.lpe-proof-badge__avatars { align-items: center; background: var(--lpe-dark); border-radius: 50%; color: #fff; display: inline-flex; height: 1.9rem; justify-content: center; width: 1.9rem; }
.lpe-proof-logos { align-items: center; display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; justify-content: center; list-style: none; margin: 0; padding: 1.5rem 0; }
.lpe-proof-logos li { align-items: center; color: var(--lpe-muted); display: flex; font-size: .8rem; font-weight: 700; gap: .65rem; }
.lpe-proof-logos img { filter: grayscale(1); height: 2.5rem; object-fit: contain; width: 4.5rem; }
@media (max-width: 782px) { .lpe-proof-showcase--columns-2, .lpe-proof-showcase--columns-3, .lpe-proof-showcase--columns-4 { grid-template-columns: 1fr; } }

