body:has(.lnp-project) {
    --lnp-dark: #111;
    --lnp-ink: #f4f4f4;
    --lnp-copy: #c4c4c4;
    --lnp-red: #ff4646;
    --lnp-rule: #383838;
    --lnp-blue: #204977;
}
body:has(.lnp-project) #full_width_portfolio,
body:has(.lnp-project) #full_width_portfolio .container-wrap {
    background: var(--lnp-dark);
    color: var(--lnp-ink);
}
.lnp-project {
    max-width: 1040px;
    margin-inline: auto;
    padding: clamp(22px, 4vw, 54px) 0 clamp(28px, 5vw, 74px);
}
.lnp-project .lnp-back { display: inline-block; margin-bottom: 20px; color: var(--lnp-copy); }
.lnp-project .lnp-cover {
    display: block;
    width: 100%;
    aspect-ratio: 2.1;
    object-fit: cover;
    border-radius: clamp(12px, 2vw, 26px);
    margin: 0 0 clamp(36px, 6vw, 84px);
}
#ajax-content-wrap .lnp-project :is(h1,h2) {
    color: var(--lnp-ink);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1.15;
    margin: 0 0 20px;
}
#ajax-content-wrap .lnp-project h1 { font-size: clamp(2.1rem, 4vw, 3.75rem); }
#ajax-content-wrap .lnp-project h2 { font-size: clamp(1.6rem, 2.8vw, 2.6rem); }
#ajax-content-wrap .lnp-project p {
    color: var(--lnp-copy);
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.7;
    margin: 0;
    padding: 0;
}
#ajax-content-wrap .lnp-project .lnp-eyebrow {
    color: var(--lnp-red);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .13em;
    font-size: .875rem;
    margin: 0 0 12px;
}
.lnp-project .lnp-story,
.lnp-project .lnp-step { padding: 0 0 clamp(28px, 4vw, 54px); }
.lnp-project .lnp-step { border-top: 1px solid var(--lnp-rule); padding-top: clamp(24px, 3.5vw, 42px); }
.lnp-project .lnp-step:last-child { padding-bottom: 0; }
.lnp-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* Style the shared Salient footer in place, preserving links and widget handlers. */
body:has(.lnp-project) .nectar-global-section.before-footer,
body:has(.lnp-project) #footer-outer,
body:has(.lnp-project) #footer-outer #copyright,
body:has(.lnp-project) .nectar-global-section.before-footer :is(#contact,#contact + .vc_row,.vc_row:has(a[href*="linkedin.com/company/logosnet"])) > .row-bg-wrap .row-bg {
    background: var(--lnp-dark) !important;
    color: var(--lnp-ink);
}
body:has(.lnp-project) .nectar-global-section.before-footer #contact h2,
body:has(.lnp-project) .nectar-global-section.before-footer a[href*="linkedin.com/company/logosnet"] i,
body:has(.lnp-project) #footer-outer #copyright :is(p,p a) {
    color: var(--lnp-ink) !important;
}
body:has(.lnp-project) .nectar-global-section.before-footer #contact + .vc_row :is(.fa-envelope-o,.fa-phone,.fa-calendar) {
    background: var(--lnp-blue) !important;
    color: #fff !important;
}
body:has(.lnp-project) #footer-outer #copyright .col.span_5 { width: 100%; text-align: center; }
body:has(.lnp-project) #footer-outer #copyright { padding-bottom: 76px; }
body:has(.lnp-project) .floating-scroll-btn { left: 14px !important; bottom: 16px !important; }
body:has(.lnp-project) :is(#iubenda-cs-preferences-link, .iubenda-tp-btn[data-tp-float]) {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
}
body:has(.lnp-project) .nectar-social.fixed { display: none; }

.lnp-project .lnp-media {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}
.lnp-project .lnp-media li { max-width: 100%; margin: 0; list-style: none; }
.lnp-project .lnp-media a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    padding: 9px 16px;
    border: 1px solid #777;
    border-radius: 999px;
    color: var(--lnp-ink);
    font-size: .925rem;
    line-height: 1.4;
}
.lnp-project .lnp-media a:hover { border-color: var(--lnp-red); }
.lnp-project .lnp-media a:focus-visible { outline: 2px solid var(--lnp-red); outline-offset: 3px; }
.lnp-project .lnp-play {
    flex: 0 0 auto;
    width: 0;
    height: 0;
    border-block: 5px solid transparent;
    border-left: 8px solid currentColor;
}
