:root {
    --lpav4-bg: #05070b;
    --lpav4-bg-soft: #090d14;
    --lpav4-surface: #0b1018;
    --lpav4-surface-2: #101722;
    --lpav4-text: #f7f9fc;
    --lpav4-muted: #a4adbb;
    --lpav4-muted-2: #727d8d;
    --lpav4-line: rgba(148, 163, 184, 0.17);
    --lpav4-blue: #2563eb;
    --lpav4-blue-2: #3b82f6;
    --lpav4-blue-soft: #93c5fd;
    --lpav4-container: 1240px;
    --lpav4-gutter: clamp(24px, 4vw, 52px);
    --lpav4-radius: 24px;
    --lpav4-shadow: 0 34px 100px rgba(0, 0, 0, 0.38);
    --lpav4-reveal-distance: 28px;
    --lpav4-reveal-blur: 12px;
}

html { scroll-behavior: smooth; }

body.lpav4-active {
    margin: 0;
    overflow-x: hidden;
    background: var(--lpav4-bg);
}

body.lpav4-modal-open { overflow: hidden; }

.lpav4,
.lpav4 * {
    box-sizing: border-box;
}

.lpav4 {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    color: var(--lpav4-text);
    background:
        radial-gradient(circle at 16% 38%, rgba(37, 99, 235, 0.055), transparent 29%),
        var(--lpav4-bg);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 300;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.lpav4 a { color: inherit; text-decoration: none; }
.lpav4 button { font: inherit; }
.lpav4 img { display: block; max-width: 100%; }
.lpav4 h1,
.lpav4 h2,
.lpav4 h3,
.lpav4 p,
.lpav4 ul,
.lpav4 ol { margin: 0; }
.lpav4 ul,
.lpav4 ol { padding: 0; }
.lpav4 button { color: inherit; }

.lpav4-noise {
    position: fixed;
    inset: 0;
    z-index: 100;
    pointer-events: none;
    opacity: 0.025;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}

@keyframes lpav4HeroFloat {
    0% { transform: scale(1.02) translate3d(0, 0, 0); }
    50% { transform: scale(1.05) translate3d(-0.8%, 1.1%, 0); }
    100% { transform: scale(1.02) translate3d(0, 0, 0); }
}

@keyframes lpav4GlowSweep {
    0% { opacity: .18; transform: translate3d(-8%, 0, 0); }
    50% { opacity: .40; transform: translate3d(4%, -2%, 0); }
    100% { opacity: .18; transform: translate3d(-8%, 0, 0); }
}

.lpav4-container {
    width: min(calc(100% - (var(--lpav4-gutter) * 2)), var(--lpav4-container));
    margin-inline: auto;
}

.lpav4-skip {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 99999;
    padding: 12px 16px;
    border-radius: 10px;
    color: #fff;
    background: var(--lpav4-blue);
    transform: translateY(-160%);
    transition: transform 0.2s ease;
}
.lpav4-skip:focus { transform: translateY(0); }

.lpav4-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 70;
    width: 100%;
    border-bottom: 1px solid var(--lpav4-line);
    background: rgba(5, 7, 11, 0.76);
    backdrop-filter: blur(18px) saturate(135%);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
}
.admin-bar .lpav4-header { top: 32px; }

.lpav4-header__inner {
    display: grid;
    min-height: 84px;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

.lpav4-nav {
    grid-column: 2;
    display: flex;
    align-items: center;
    gap: 38px;
}

.lpav4-nav a {
    position: relative;
    padding: 10px 0;
    color: #b8c1ce;
    font-size: 15px;
    font-weight: 450;
    transition: color .22s ease;
}
.lpav4-nav a::after {
    position: absolute;
    right: 0;
    bottom: 3px;
    left: 0;
    height: 1px;
    content: "";
    background: var(--lpav4-blue-2);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s ease;
}
.lpav4-nav a:hover,
.lpav4-nav a:focus-visible { color: #fff; outline: none; }
.lpav4-nav a:hover::after,
.lpav4-nav a:focus-visible::after { transform: scaleX(1); }

.lpav4-header .lpav4-button { grid-column: 3; justify-self: end; }

.lpav4-button {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 0 28px;
    border: 1px solid rgba(96, 165, 250, 0.56);
    border-radius: 14px;
    color: #fff;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 46%),
        linear-gradient(135deg, var(--lpav4-blue-2), var(--lpav4-blue));
    box-shadow: 0 16px 42px rgba(37, 99, 235, 0.28), inset 0 1px rgba(255, 255, 255, 0.14);
    font-size: 16px;
    font-weight: 650;
    letter-spacing: -0.018em;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.lpav4-button:hover,
.lpav4-button:focus-visible {
    border-color: rgba(147, 197, 253, 0.88);
    box-shadow: 0 20px 54px rgba(37, 99, 235, 0.38), inset 0 1px rgba(255, 255, 255, 0.18);
    transform: translateY(-2px);
    outline: none;
}
.lpav4-button--small {
    min-height: 50px;
    padding-inline: 23px;
    font-size: 14px;
}

.lpav4-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 2px;
    color: #d8dee8;
    font-size: 16px;
    font-weight: 500;
}
.lpav4-text-link span { color: var(--lpav4-blue-soft); }

.lpav4-hero {
    position: relative;
    display: grid;
    min-height: 860px;
    place-items: center;
    padding: 150px 0 96px;
    isolation: isolate;
}

.lpav4-hero__image,
.lpav4-hero__shade {
    position: absolute;
    inset: 0;
    z-index: -2;
}
.lpav4-hero__image {
    inset: -3%;
    background: url('../images/hero-blue-waves.webp') center / cover no-repeat;
    transform-origin: center;
    animation: lpav4HeroFloat 20s ease-in-out infinite;
    will-change: transform;
}
.lpav4-hero__shade {
    z-index: -1;
    background:
        radial-gradient(circle at 50% 48%, rgba(4, 7, 13, 0.1), rgba(4, 7, 13, 0.42) 60%, rgba(4, 7, 13, 0.84) 100%),
        linear-gradient(180deg, rgba(4, 7, 13, 0.15), rgba(4, 7, 13, 0.22) 52%, var(--lpav4-bg) 100%);
}
.lpav4-hero__shade::after {
    position: absolute;
    inset: 12% auto auto 18%;
    width: min(40vw, 520px);
    height: min(40vw, 520px);
    border-radius: 50%;
    content: "";
    pointer-events: none;
    background: radial-gradient(circle, rgba(96, 165, 250, 0.24) 0%, rgba(96, 165, 250, 0.08) 34%, rgba(96, 165, 250, 0) 72%);
    filter: blur(34px);
    animation: lpav4GlowSweep 14s ease-in-out infinite;
}

.lpav4-hero__inner { display: grid; place-items: center; }
.lpav4-hero__copy { max-width: 1040px; text-align: center; }

.lpav4-eyebrow,
.lpav4-kicker {
    color: var(--lpav4-blue-soft);
    font-size: 12px;
    font-weight: 650;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}
.lpav4-eyebrow {
    display: inline-flex;
    padding: 8px 14px;
    border: 1px solid rgba(96, 165, 250, 0.26);
    border-radius: 999px;
    background: rgba(5, 7, 11, 0.42);
    backdrop-filter: blur(10px);
}

.lpav4-hero h1 {
    max-width: 1020px;
    margin: 28px auto 0;
    font-size: clamp(58px, 6.1vw, 92px);
    line-height: 0.98;
    font-weight: 760;
    letter-spacing: -0.065em;
    text-wrap: balance;
}
.lpav4-hero h1 em {
    display: block;
    color: transparent;
    background: linear-gradient(92deg, #fff 0%, #dbeafe 26%, #93c5fd 58%, #3b82f6 100%);
    -webkit-background-clip: text;
    background-clip: text;
    font-style: normal;
}
.lpav4-hero__copy > p:not(.lpav4-hero__note) {
    max-width: 760px;
    margin: 30px auto 0;
    color: #c0c8d4;
    font-size: clamp(19px, 1.7vw, 23px);
    line-height: 1.72;
    letter-spacing: -0.018em;
}
.lpav4-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 22px;
    margin-top: 38px;
}
.lpav4-hero__note {
    margin-top: 30px !important;
    color: #798596 !important;
    font-size: 13px !important;
    font-weight: 450;
    letter-spacing: 0.015em !important;
}

.lpav4-section { position: relative; padding: 142px 0; overflow: clip; }

.lpav4-section::after,
.lpav4-delivery::after,
.lpav4-cta::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: clamp(110px, 18vw, 180px);
    content: "";
    pointer-events: none;
    opacity: .95;
    background: linear-gradient(180deg, rgba(5, 8, 14, 0) 0%, rgba(5, 8, 14, 0.38) 36%, rgba(5, 8, 14, 0.84) 72%, rgba(5, 8, 14, 0.97) 100%);
    backdrop-filter: blur(18px) saturate(116%);
    -webkit-backdrop-filter: blur(18px) saturate(116%);
    transform: translateY(0);
    transition: opacity 1s ease, transform 1s cubic-bezier(.22,.61,.36,1);
    will-change: opacity, transform;
}

.lpav4-section.is-stage-visible::after,
.lpav4-delivery.is-stage-visible::after,
.lpav4-cta.is-stage-visible::after {
    opacity: 0;
    transform: translateY(18px);
}

.lpav4-heading { max-width: 920px; }
.lpav4-heading h2,
.lpav4-delivery h2,
.lpav4-process__intro h2,
.lpav4-about h2,
.lpav4-cta h2 {
    margin-top: 18px;
    font-size: clamp(44px, 4.6vw, 68px);
    line-height: 1.02;
    font-weight: 720;
    letter-spacing: -0.055em;
    text-wrap: balance;
}
.lpav4-heading > p,
.lpav4-process__intro > p,
.lpav4-about__copy > p,
.lpav4-cta p {
    max-width: 720px;
    margin-top: 26px;
    color: var(--lpav4-muted);
    font-size: 19px;
    line-height: 1.78;
    letter-spacing: -0.015em;
}

.lpav4-perception { padding-top: 126px; }
.lpav4-problem-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 74px;
    border-top: 1px solid var(--lpav4-line);
}
.lpav4-problem-grid article {
    position: relative;
    min-height: 330px;
    padding: 34px 34px 30px 0;
}
.lpav4-problem-grid article + article {
    padding-left: 34px;
    border-left: 1px solid var(--lpav4-line);
}
.lpav4-problem-grid article::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 58px;
    height: 2px;
    content: "";
    background: var(--lpav4-blue-2);
    box-shadow: 0 0 18px rgba(59, 130, 246, 0.45);
}
.lpav4-problem-grid article + article::before { left: 34px; }
.lpav4-problem-grid article > span,
.lpav4-principle-list article > span,
.lpav4-process-list > li > span {
    color: var(--lpav4-blue-soft);
    font-size: 13px;
    font-weight: 650;
    letter-spacing: 0.09em;
}
.lpav4-problem-grid h3 {
    max-width: 330px;
    margin-top: 58px;
    font-size: clamp(27px, 2.2vw, 34px);
    line-height: 1.12;
    font-weight: 680;
    letter-spacing: -0.04em;
}
.lpav4-problem-grid p {
    max-width: 355px;
    margin-top: 18px;
    color: var(--lpav4-muted);
    font-size: 17px;
    line-height: 1.72;
}

.lpav4-projects {
    background: linear-gradient(180deg, transparent, rgba(37, 99, 235, 0.028) 50%, transparent);
}
.lpav4-heading--projects { max-width: 900px; }
.lpav4-project-feature,
.lpav4-project-card {
    width: 100%;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    text-align: left;
    cursor: pointer;
}
.lpav4-project-feature {
    display: grid;
    overflow: hidden;
    grid-template-columns: minmax(0, 1.5fr) minmax(340px, 0.7fr);
    margin-top: 68px;
    border: 1px solid var(--lpav4-line);
    border-radius: var(--lpav4-radius);
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.72), rgba(7, 10, 16, 0.92));
    box-shadow: var(--lpav4-shadow);
    transition: border-color .25s ease, transform .25s ease;
}
.lpav4-project-feature:hover,
.lpav4-project-feature:focus-visible,
.lpav4-project-card:hover,
.lpav4-project-card:focus-visible {
    border-color: rgba(96, 165, 250, 0.42);
    transform: translateY(-4px);
    outline: none;
}
.lpav4-project-feature__visual {
    display: block;
    overflow: hidden;
    min-height: 540px;
    border-right: 1px solid var(--lpav4-line);
    background: #0a0d12;
}
.lpav4-project-feature__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition: transform .8s ease;
}
.lpav4-project-feature:hover img { transform: scale(1.025); }
.lpav4-project-feature__copy {
    display: flex;
    min-height: 540px;
    flex-direction: column;
    justify-content: center;
    padding: 54px;
}
.lpav4-project-feature__copy small,
.lpav4-project-card__copy small {
    color: var(--lpav4-blue-soft);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}
.lpav4-project-feature__copy strong {
    margin-top: 16px;
    font-size: clamp(35px, 3.3vw, 50px);
    line-height: 1;
    font-weight: 720;
    letter-spacing: -0.05em;
}
.lpav4-project-feature__copy em {
    margin-top: 16px;
    color: #dce4ee;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
}
.lpav4-project-feature__copy p {
    margin-top: 24px;
    color: var(--lpav4-muted);
    font-size: 17px;
    line-height: 1.7;
}
.lpav4-project-open {
    margin-top: 34px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}
.lpav4-project-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin-top: 28px;
}
.lpav4-project-card {
    overflow: hidden;
    border: 1px solid var(--lpav4-line);
    border-radius: 20px;
    background: rgba(10, 14, 21, 0.78);
    transition: border-color .25s ease, transform .25s ease;
}
.lpav4-project-card__visual {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-bottom: 1px solid var(--lpav4-line);
    background: #0b0d12;
}
.lpav4-project-card__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition: transform .8s ease;
}
.lpav4-project-card:hover img { transform: scale(1.025); }
.lpav4-project-card__copy {
    display: block;
    padding: 30px 32px 34px;
}
.lpav4-project-card__copy strong {
    display: block;
    margin-top: 12px;
    font-size: 29px;
    line-height: 1.08;
    font-weight: 680;
    letter-spacing: -0.04em;
}
.lpav4-project-card__copy p {
    min-height: 58px;
    margin-top: 16px;
    color: var(--lpav4-muted);
    font-size: 16px;
    line-height: 1.65;
}
.lpav4-project-card__copy em {
    display: block;
    margin-top: 24px;
    color: #e8edf4;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
}

.lpav4-delivery {
    padding: 74px 0;
    border-top: 1px solid var(--lpav4-line);
    border-bottom: 1px solid var(--lpav4-line);
    background:
        radial-gradient(circle at 18% 50%, rgba(37, 99, 235, 0.12), transparent 28%),
        rgba(8, 12, 18, 0.76);
}
.lpav4-delivery__inner {
    display: grid;
    grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr);
    align-items: center;
    gap: 72px;
}
.lpav4-delivery h2 {
    margin-top: 12px;
    font-size: clamp(34px, 3vw, 48px);
}
.lpav4-delivery ul {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
}
.lpav4-delivery li {
    padding: 12px 16px;
    border: 1px solid rgba(96, 165, 250, 0.22);
    border-radius: 999px;
    color: #d9e2ee;
    background: rgba(37, 99, 235, 0.055);
    font-size: 15px;
    font-weight: 450;
}

.lpav4-principles .lpav4-heading { max-width: 880px; }
.lpav4-principle-list {
    margin-top: 72px;
    border-top: 1px solid var(--lpav4-line);
}
.lpav4-principle-list article {
    display: grid;
    min-height: 210px;
    grid-template-columns: 90px minmax(0, 1fr);
    align-items: center;
    gap: 28px;
    border-bottom: 1px solid var(--lpav4-line);
}
.lpav4-principle-list article > span {
    font-size: 16px;
}
.lpav4-principle-list article > div {
    display: grid;
    grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
    align-items: center;
    gap: 60px;
}
.lpav4-principle-list h3 {
    font-size: clamp(36px, 3.8vw, 56px);
    line-height: 1;
    font-weight: 700;
    letter-spacing: -0.05em;
}
.lpav4-principle-list p {
    max-width: 650px;
    color: var(--lpav4-muted);
    font-size: 20px;
    line-height: 1.72;
}

.lpav4-process {
    background:
        radial-gradient(circle at 12% 30%, rgba(37, 99, 235, 0.085), transparent 31%),
        var(--lpav4-bg-soft);
}
.lpav4-process__layout {
    display: grid;
    grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
    gap: 100px;
}
.lpav4-process__intro { position: sticky; top: 140px; align-self: start; }
.lpav4-process-list { list-style: none; border-top: 1px solid var(--lpav4-line); }
.lpav4-process-list li {
    display: grid;
    min-height: 150px;
    grid-template-columns: 60px minmax(0, 1fr);
    align-items: center;
    gap: 26px;
    border-bottom: 1px solid var(--lpav4-line);
}
.lpav4-process-list h3 {
    font-size: 27px;
    line-height: 1.12;
    font-weight: 650;
    letter-spacing: -0.035em;
}
.lpav4-process-list p {
    margin-top: 10px;
    color: var(--lpav4-muted);
    font-size: 16px;
    line-height: 1.65;
}

.lpav4-about { padding-bottom: 110px; }
.lpav4-about__grid {
    display: grid;
    overflow: hidden;
    grid-template-columns: minmax(0, 1fr) minmax(440px, .95fr);
    align-items: stretch;
    border-top: 1px solid var(--lpav4-line);
    border-bottom: 1px solid var(--lpav4-line);
}
.lpav4-about__copy {
    display: flex;
    min-height: 620px;
    flex-direction: column;
    justify-content: center;
    padding: 74px 78px 74px 0;
}
.lpav4-about__visual {
    position: relative;
    min-height: 620px;
    overflow: hidden;
}
.lpav4-about__visual::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    content: "";
    background: linear-gradient(90deg, var(--lpav4-bg) 0%, transparent 25%), linear-gradient(0deg, var(--lpav4-bg) 0%, transparent 42%);
}
.lpav4-about__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 52% center;
    filter: saturate(.94) contrast(1.08) brightness(.98);
}

.lpav4-cta {
    padding: 100px 0 110px;
}
.lpav4-cta__inner {
    position: relative;
    overflow: hidden;
    padding: 96px 70px;
    border: 1px solid rgba(96, 165, 250, .38);
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 0%, rgba(59, 130, 246, .23), transparent 42%),
        linear-gradient(135deg, #0b1220, #08101d 58%, #07101b);
    box-shadow: var(--lpav4-shadow);
    text-align: center;
}
.lpav4-cta h2 { max-width: 940px; margin-inline: auto; }
.lpav4-cta p { max-width: 720px; margin-inline: auto; }
.lpav4-cta .lpav4-button { margin-top: 36px; }

.lpav4-footer {
    border-top: 1px solid var(--lpav4-line);
    background: #05080c;
}
.lpav4-footer__inner {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 60px;
    padding-top: 54px;
    padding-bottom: 48px;
}
.lpav4-footer__inner > div { display: grid; gap: 5px; }
.lpav4-footer__inner strong { font-size: 22px; font-weight: 680; }
.lpav4-footer__inner small { color: var(--lpav4-muted-2); font-size: 14px; }
.lpav4-footer__inner > a,
.lpav4-footer nav a { color: #aeb7c4; font-size: 15px; }
.lpav4-footer nav { display: flex; gap: 24px; }
.lpav4-footer__bottom {
    padding: 22px 0 28px;
    border-top: 1px solid var(--lpav4-line);
    color: #5f6978;
    font-size: 13px;
}

.lpav4-whatsapp {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 65;
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border: 1px solid rgba(74, 222, 128, 0.38);
    border-radius: 50%;
    color: #4ade80;
    background: rgba(7, 36, 22, 0.92);
    box-shadow: 0 18px 50px rgba(0,0,0,.45);
    backdrop-filter: blur(14px);
    transition: transform .22s ease, border-color .22s ease;
}
.lpav4-whatsapp:hover,
.lpav4-whatsapp:focus-visible { transform: translateY(-3px); border-color: rgba(74, 222, 128, .75); outline: none; }
.lpav4-whatsapp svg { width: 24px; height: 24px; }

.lpav4-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    padding: 24px;
    place-items: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
}
.lpav4-modal.is-open { opacity: 1; pointer-events: auto; }
.lpav4-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(2, 4, 8, .88);
    backdrop-filter: blur(12px);
}
.lpav4-modal__dialog {
    position: relative;
    z-index: 2;
    display: grid;
    overflow: hidden;
    width: min(1180px, calc(100vw - 48px));
    height: min(92vh, 950px);
    grid-template-rows: auto minmax(0, 1fr) auto;
    border: 1px solid rgba(96, 165, 250, .28);
    border-radius: 22px;
    background: #080b11;
    box-shadow: 0 50px 160px rgba(0,0,0,.7);
    transform: translateY(18px) scale(.985);
    transition: transform .25s ease;
}
.lpav4-modal.is-open .lpav4-modal__dialog { transform: none; }
.lpav4-modal header,
.lpav4-modal footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--lpav4-line);
}
.lpav4-modal footer { border-top: 1px solid var(--lpav4-line); border-bottom: 0; }
.lpav4-modal header > div { display: grid; gap: 3px; }
.lpav4-modal header small { color: var(--lpav4-blue-soft); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.lpav4-modal header strong { font-size: 17px; }
.lpav4-modal header button,
.lpav4-modal footer button {
    border: 0;
    color: #dce3ec;
    background: transparent;
    cursor: pointer;
}
.lpav4-modal header button { width: 42px; height: 42px; border: 1px solid var(--lpav4-line); border-radius: 12px; font-size: 25px; }
.lpav4-modal footer button { padding: 10px 0; font-size: 14px; }
.lpav4-modal__body { position: relative; overflow: auto; background: #101319; display: flex; justify-content: center; }
.lpav4-modal__body img { display: block; width: min(100%, 1000px); max-width: 100%; height: auto; margin: 0 auto; opacity: 0; object-fit: contain; image-rendering: auto; transition: opacity .28s ease; }
.lpav4-modal__body img.is-loaded { opacity: 1; }
.lpav4-modal__loader { position: absolute; top: 50%; left: 50%; color: #98a4b5; transform: translate(-50%, -50%); }
.lpav4-modal__loader[hidden] { display: none; }

.lpav4-js [data-lpav4-reveal] {
    opacity: 0;
    filter: blur(var(--lpav4-reveal-blur));
    transform: translateY(var(--lpav4-reveal-distance)) scale(.985);
    transition: opacity .8s ease, transform .85s cubic-bezier(.22,.61,.36,1), filter .8s ease;
    transition-delay: var(--lpav4-delay, 0ms);
    will-change: opacity, transform, filter;
}
.lpav4-js [data-lpav4-reveal].is-visible { opacity: 1; filter: blur(0); transform: none; }

@media (max-width: 1020px) {
    .lpav4-header__inner { grid-template-columns: 1fr auto 1fr; }
    .lpav4-nav { gap: 24px; }
    .lpav4-project-feature { grid-template-columns: 1fr; }
    .lpav4-project-feature__visual { min-height: 480px; border-right: 0; border-bottom: 1px solid var(--lpav4-line); }
    .lpav4-project-feature__copy { min-height: auto; }
    .lpav4-delivery__inner { grid-template-columns: 1fr; gap: 34px; }
    .lpav4-process__layout { grid-template-columns: 1fr; gap: 70px; }
    .lpav4-process__intro { position: static; }
    .lpav4-about__grid { grid-template-columns: 1fr; }
    .lpav4-about__visual { order: -1; min-height: 520px; }
    .lpav4-about__copy { min-height: auto; padding: 64px 0 76px; }
    .lpav4-about__visual::before { background: linear-gradient(0deg, var(--lpav4-bg) 0%, transparent 36%); }
}

@media (max-width: 820px) {
    .lpav4-header { display: none; }
    .admin-bar .lpav4-header { top: 0; }
    .lpav4-hero { min-height: auto; padding: 64px 0 80px; }
    .lpav4-hero__image { background-position: 62% center; }
    .lpav4-hero__shade { background: linear-gradient(180deg, rgba(4,7,13,.22), rgba(4,7,13,.34) 58%, var(--lpav4-bg) 100%); }
    .lpav4-hero__copy { text-align: left; }
    .lpav4-eyebrow { font-size: 10px; }
    .lpav4-hero h1 {
        margin-top: 24px;
        font-size: clamp(43px, 12vw, 58px);
        line-height: .99;
        letter-spacing: -.06em;
        text-wrap: pretty;
    }
    .lpav4-hero h1 em { display: inline; }
    .lpav4-hero__copy > p:not(.lpav4-hero__note) { margin-inline: 0; font-size: 18px; line-height: 1.68; }
    .lpav4-actions { display: grid; justify-content: stretch; gap: 14px; }
    .lpav4-button { width: 100%; min-height: 58px; padding-inline: 18px; font-size: 15px; }
    .lpav4-text-link { justify-content: center; }
    .lpav4-hero__note { max-width: 340px; margin-top: 22px !important; font-size: 12px !important; line-height: 1.6 !important; }

    .lpav4-section { padding: 88px 0; }
    .lpav4-perception { padding-top: 82px; }
    .lpav4-heading h2,
    .lpav4-delivery h2,
    .lpav4-process__intro h2,
    .lpav4-about h2,
    .lpav4-cta h2 {
        font-size: clamp(38px, 10vw, 48px);
        line-height: 1.02;
    }
    .lpav4-heading > p,
    .lpav4-process__intro > p,
    .lpav4-about__copy > p,
    .lpav4-cta p { font-size: 17px; line-height: 1.72; }

    .lpav4-problem-grid { grid-template-columns: 1fr; margin-top: 54px; }
    .lpav4-problem-grid article,
    .lpav4-problem-grid article + article { min-height: auto; padding: 30px 0 42px; border-left: 0; border-bottom: 1px solid var(--lpav4-line); }
    .lpav4-problem-grid article + article::before { left: 0; }
    .lpav4-problem-grid h3 { margin-top: 40px; font-size: 29px; }
    .lpav4-problem-grid p { font-size: 17px; }

    .lpav4-project-feature { margin-top: 52px; }
    .lpav4-project-feature__visual { min-height: 0; aspect-ratio: 4 / 3; }
    .lpav4-project-feature__copy { padding: 32px 26px 36px; }
    .lpav4-project-feature__copy strong { font-size: 36px; }
    .lpav4-project-feature__copy em { font-size: 18px; }
    .lpav4-project-feature__copy p { font-size: 16px; }
    .lpav4-project-pair { grid-template-columns: 1fr; gap: 20px; margin-top: 20px; }
    .lpav4-project-card__visual { aspect-ratio: 4 / 3; }
    .lpav4-project-card__copy { padding: 26px 24px 30px; }
    .lpav4-project-card__copy strong { font-size: 28px; }
    .lpav4-project-card__copy p { min-height: auto; font-size: 16px; }

    .lpav4-delivery { padding: 58px 0; }
    .lpav4-delivery ul { gap: 9px; }
    .lpav4-delivery li { padding: 10px 13px; font-size: 14px; }

    .lpav4-principle-list { margin-top: 52px; }
    .lpav4-principle-list article { min-height: auto; grid-template-columns: 42px 1fr; gap: 14px; padding: 34px 0; }
    .lpav4-principle-list article > div { grid-template-columns: 1fr; gap: 14px; }
    .lpav4-principle-list h3 { font-size: 34px; }
    .lpav4-principle-list p { font-size: 17px; }

    .lpav4-process__layout { gap: 52px; }
    .lpav4-process-list li { min-height: auto; grid-template-columns: 42px 1fr; gap: 14px; padding: 28px 0; }
    .lpav4-process-list h3 { font-size: 23px; }
    .lpav4-process-list p { font-size: 16px; }

    .lpav4-about { padding-bottom: 76px; }
    .lpav4-about__visual { min-height: 420px; }
    .lpav4-about__copy { padding: 50px 0 0; }

    .lpav4-cta { padding: 56px 0 72px; }
    .lpav4-section::after,
    .lpav4-delivery::after,
    .lpav4-cta::after { height: 96px; }
    .lpav4-cta__inner { padding: 58px 24px; border-radius: 22px; text-align: left; }
    .lpav4-cta .lpav4-button { margin-top: 28px; }

    .lpav4-footer__inner { grid-template-columns: 1fr; gap: 26px; padding-top: 46px; padding-bottom: 36px; }
    .lpav4-footer nav { flex-wrap: wrap; gap: 18px; }
    .lpav4-footer__bottom { padding-bottom: 76px; }
    .lpav4-whatsapp { right: 16px; bottom: 16px; width: 50px; height: 50px; }

    .lpav4-modal { padding: 0; }
    .lpav4-modal__dialog { width: 100vw; height: 100svh; border: 0; border-radius: 0; }
    .lpav4-modal header,
    .lpav4-modal footer { padding: 15px 17px; }
}

@media (max-width: 420px) {
    :root { --lpav4-gutter: 20px; }
    .lpav4-hero h1 { font-size: 42px; }
    .lpav4-eyebrow { padding-inline: 11px; letter-spacing: .11em; }
    .lpav4-heading h2,
    .lpav4-delivery h2,
    .lpav4-process__intro h2,
    .lpav4-about h2,
    .lpav4-cta h2 { font-size: 37px; }
    .lpav4-project-feature__copy strong { font-size: 33px; }
    .lpav4-about__visual { min-height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .lpav4 *,
    .lpav4 *::before,
    .lpav4 *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .lpav4-section::after,
    .lpav4-delivery::after,
    .lpav4-cta::after { display: none !important; }
    .lpav4-js [data-lpav4-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* v4.3 — ajuste cirúrgico do zoom, sem alterar a página aprovada */
.lpav4-modal__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lpav4-modal__zoom svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lpav4-modal__zoom.is-active {
    color: #ffffff;
    border-color: rgba(96, 165, 250, 0.42);
    background: rgba(37, 99, 235, 0.18);
}

.lpav4-modal.is-fit-width .lpav4-modal__body {
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
}

.lpav4-modal.is-fit-width .lpav4-modal__body img {
    display: block;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    object-fit: contain;
}
