.npbs-ph-section{--accent:#ff7607;background:transparent;padding:84px 0;font-family:inherit}.npbs-ph-section *,.npbs-ph-rfq *{box-sizing:border-box}.npbs-ph-head{max-width:720px;margin-bottom:36px}.npbs-ph-head.is-center{text-align:center;margin-left:auto;margin-right:auto;max-width:860px}.npbs-ph-eyebrow{color:var(--accent,#ff7607);font-size:13px;font-weight:700;margin-bottom:12px}.npbs-ph-heading{margin:0!important;color:#202020!important;font-family:inherit!important;font-size:36px!important;line-height:1.22!important;font-weight:700!important}.npbs-ph-description{margin:18px 0 0;color:#686868;font-size:16px;line-height:1.7}.npbs-ph-split{max-width:1280px;margin:auto;padding:0 30px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.npbs-ph-process{margin:24px 0;font-size:14px;font-weight:600}.npbs-ph-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.npbs-ph-card{min-height:210px;padding:28px 24px;border:1px solid #e4e4e1;background:#fff;position:relative;transition:.25s}.npbs-ph-card:before{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:var(--accent);transition:.25s}.npbs-ph-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08)}.npbs-ph-card:hover:before{width:100%}.npbs-ph-card h3,.npbs-ph-proof-item h3{margin:16px 0 8px!important;color:#222!important;font-family:inherit!important;font-size:17px!important;line-height:1.35!important;font-weight:700!important}.npbs-ph-card p,.npbs-ph-proof-item p{margin:0;color:#707070;font-size:14px;line-height:1.6}.npbs-ph-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.npbs-ph-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.npbs-ph-btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 22px;text-decoration:none!important;font-size:14px;font-weight:700}.npbs-ph-btn.primary{background:var(--accent,#ff7607);color:#fff!important;border:1px solid var(--accent,#ff7607)}.npbs-ph-btn.outline{border:1px solid var(--accent);color:var(--accent)!important}.npbs-ph-btn.text{color:#222!important;padding-left:0}.npbs-ph-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.npbs-ph-quality-grid{max-width:1280px;margin:auto;padding:0 30px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.npbs-ph-quality.reverse .npbs-ph-quality-media{order:2}.npbs-ph-quality-media{min-height:520px;background:#f2f2f0}.npbs-ph-quality-media img{width:100%;height:520px;object-fit:cover}.npbs-ph-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}.npbs-ph-proof-item{display:grid;grid-template-columns:48px 1fr;gap:14px;padding-top:18px;border-top:1px solid #e3e3e0}.npbs-ph-proof-item h3{margin:0 0 7px!important}.npbs-ph-selection{padding-left:30px;padding-right:30px}.npbs-ph-selection-flow{max-width:1280px;margin:42px auto 0;display:grid;grid-template-columns:repeat(8,1fr);border-top:1px solid #ddd;border-bottom:1px solid #ddd}.npbs-ph-step{min-height:150px;position:relative;padding:24px 10px;text-align:center;border-right:1px solid #ddd;display:flex;flex-direction:column;align-items:center;justify-content:center}.npbs-ph-step:last-child{border-right:0}.npbs-ph-step .no{position:absolute;left:10px;top:10px;color:#aaa;font-size:11px}.npbs-ph-step b{margin-top:10px;font-size:13px}.npbs-ph-selection .npbs-ph-actions{justify-content:center}.npbs-ph-faq{padding-left:30px;padding-right:30px}.npbs-ph-faq-grid{max-width:1180px;margin:42px auto 0;display:grid;grid-template-columns:repeat(var(--faq-cols,2),1fr);gap:14px 22px}.npbs-ph-faq-item{border:1px solid #e2e2df;background:#fff}.npbs-ph-faq-q{width:100%;border:0;background:transparent;padding:20px 22px;display:flex;justify-content:space-between;gap:20px;text-align:left;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}.npbs-ph-faq-q b{color:var(--accent);font-size:22px;font-weight:400}.npbs-ph-faq-item.is-open .npbs-ph-faq-q b{transform:rotate(45deg)}.npbs-ph-faq-a{display:none;padding:0 22px 20px}.npbs-ph-faq-a p{margin:0;color:#686868;font-size:14px;line-height:1.7}.npbs-ph-rfq{--accent:#ff7607;background:transparent;padding:84px 30px;color:#222;background-size:cover;background-position:center}.npbs-ph-rfq.theme{background:transparent;color:#222}.npbs-ph-rfq.dark{background:#101820;color:#fff}.npbs-ph-rfq.orange{background:#ff7607;color:#fff}.npbs-ph-rfq.light{background:#f4f4f2;color:#222}.npbs-ph-rfq-inner{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center}.npbs-ph-rfq .npbs-ph-heading{color:#fff!important;font-size:40px!important}.npbs-ph-rfq.light .npbs-ph-heading{color:#202020!important}.npbs-ph-rfq .npbs-ph-description{color:rgba(255,255,255,.78)}.npbs-ph-rfq.light .npbs-ph-description{color:#666}.npbs-ph-rfq.orange .npbs-ph-btn.primary{background:#fff;color:#ff7607!important;border-color:#fff}.npbs-ph-btn.ghost{border:1px solid rgba(255,255,255,.6);color:#fff!important}.npbs-ph-rfq.light .npbs-ph-btn.ghost{border-color:#222;color:#222!important}.npbs-ph-rfq-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.npbs-ph-rfq-list div{padding:15px 16px;border:1px solid rgba(255,255,255,.18);font-size:14px;font-weight:600}.npbs-ph-rfq.light .npbs-ph-rfq-list div{border-color:#ddd}@media(max-width:1100px){.npbs-ph-selection-flow{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.npbs-ph-split,.npbs-ph-quality-grid,.npbs-ph-rfq-inner{grid-template-columns:1fr}.npbs-ph-card-grid{grid-template-columns:repeat(2,1fr)}.npbs-ph-quality.reverse .npbs-ph-quality-media{order:initial}}@media(max-width:767px){.npbs-ph-section,.npbs-ph-rfq{padding-top:58px;padding-bottom:58px}.npbs-ph-heading,.npbs-ph-rfq .npbs-ph-heading{font-size:30px!important}.npbs-ph-split,.npbs-ph-quality-grid{padding:0 20px}.npbs-ph-card-grid,.npbs-ph-proof-grid,.npbs-ph-faq-grid{grid-template-columns:1fr}.npbs-ph-selection-flow{grid-template-columns:repeat(2,1fr)}.npbs-ph-rfq-list{grid-template-columns:1fr}.npbs-ph-quality-media,.npbs-ph-quality-media img{min-height:340px;height:340px}}

/* SECTION 5 — Application Navigator */
.npbs-ph-appnav{padding:0!important}
.npbs-ph-appnav-grid{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:transparent}
.npbs-ph-appnav-media{position:relative;min-height:650px;overflow:hidden;background:#f4f4f2}
.npbs-ph-appnav-images{position:absolute;inset:0 0 72px 0;overflow:hidden}
.npbs-ph-appnav-image{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease,transform .55s ease}
.npbs-ph-appnav[data-transition="zoom"] .npbs-ph-appnav-image{transform:scale(1.035)}
.npbs-ph-appnav-image.is-active{opacity:1;visibility:visible;transform:scale(1)}
.npbs-ph-appnav-image img{width:100%;height:100%;object-fit:cover;display:block}
.npbs-ph-appnav-cta{position:absolute;left:0;bottom:0;width:100%;height:72px;background:var(--accent);color:#fff!important;text-decoration:none!important;display:grid;grid-template-columns:1fr 72px;align-items:center}
.npbs-ph-appnav-cta span{text-align:right;padding:0 28px;font-size:14px;font-weight:700}
.npbs-ph-appnav-cta b{height:72px;border-left:1px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:400}
.npbs-ph-appnav-content{padding:66px 66px 56px;display:flex;flex-direction:column;justify-content:center}
.npbs-ph-appnav-content .npbs-ph-head{margin-bottom:26px}
.npbs-ph-appnav-items{display:grid;grid-template-columns:repeat(var(--app-cols,3),minmax(0,1fr));gap:18px}
.npbs-ph-appnav-item{min-height:126px;border:1px solid transparent;background:transparent;padding:14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;color:#222;transition:.25s ease}
.npbs-ph-appnav-item.is-active{border-color:rgba(255,118,7,.28);background:#fff;box-shadow:0 9px 28px rgba(0,0,0,.065);transform:translateY(-2px)}
.npbs-ph-appnav-item:hover:not(.is-active){background:transparent;border-color:transparent;box-shadow:none;transform:none}
.npbs-ph-appnav-title{display:block!important;visibility:visible!important;opacity:1!important;margin-top:9px;color:#222!important;font-family:inherit;font-size:13px;line-height:1.35;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
.npbs-ph-appnav-item.is-active .npbs-ph-appnav-title{color:var(--accent)!important}
.npbs-ph-appnav-desc{display:block;margin-top:6px;color:#707070;font-size:12px;line-height:1.45}
.npbs-ph-appnav-link{display:inline-block;margin-top:7px;color:var(--accent);font-size:12px;font-weight:700}
.npbs-ph-appnav-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:991px){.npbs-ph-appnav-grid{grid-template-columns:1fr}.npbs-ph-appnav-media{min-height:500px}.npbs-ph-appnav-content{padding:50px 34px}.npbs-ph-appnav-items{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.npbs-ph-appnav-media{min-height:390px}.npbs-ph-appnav-images{inset:0 0 60px 0}.npbs-ph-appnav-cta{height:60px;grid-template-columns:1fr 60px}.npbs-ph-appnav-cta b{height:60px}.npbs-ph-appnav-content{padding:40px 20px}.npbs-ph-appnav-items{grid-template-columns:repeat(2,1fr);gap:12px}}

/* v1.1.2 — CTA spacing and Industic hover */
.npbs-ph-oem .npbs-ph-process{margin:34px 0 0!important;}
.npbs-ph-oem .npbs-ph-btn{margin-top:34px!important;}
.npbs-ph-quality .npbs-ph-btn{margin-top:34px!important;}

.npbs-ph-btn--primary,
.npbs-ph-btn--outline{
 transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease!important;
}
.npbs-ph-btn--primary:hover,
.npbs-ph-btn--outline:hover{
 background:#1f1f1f!important;
 border-color:#1f1f1f!important;
 color:#fff!important;
 transform:translateY(-2px);
}
.npbs-ph-btn--primary:hover span,
.npbs-ph-btn--outline:hover span{color:#fff!important;}

/* v1.1.2 — Application Navigator active/click state */
.npbs-ph-appnav-item{position:relative;z-index:1;}
.npbs-ph-appnav-item.is-active{
 background:#fff!important;
 border-color:rgba(255,118,7,.35)!important;
 box-shadow:0 9px 28px rgba(0,0,0,.07)!important;
}
.npbs-ph-appnav-image{pointer-events:none;}
.npbs-ph-appnav-image.is-active{z-index:2;}

/* v1.1.2 — FAQ closer to Industic native accordion */
.npbs-ph-faq-grid{
 max-width:1180px!important;
 grid-template-columns:1fr!important;
 gap:42px!important;
}
.npbs-ph-faq-item{
 border:1px solid #e5e5e5!important;
 background:#fff!important;
 box-shadow:none!important;
}
.npbs-ph-faq-q{
 min-height:104px!important;
 padding:0 46px!important;
 font-family:inherit!important;
 font-size:22px!important;
 line-height:1.35!important;
 font-weight:700!important;
 color:#252525!important;
}
.npbs-ph-faq-q b{
 color:#252525!important;
 font-size:28px!important;
 line-height:1!important;
 font-weight:400!important;
}
.npbs-ph-faq-item.is-open .npbs-ph-faq-q b{color:var(--accent)!important;}
.npbs-ph-faq-a{padding:0 46px 34px!important;}
.npbs-ph-faq-a p{
 margin:0!important;
 font-size:16px!important;
 line-height:1.75!important;
 color:#666!important;
}
@media(max-width:767px){
 .npbs-ph-faq-grid{gap:18px!important;}
 .npbs-ph-faq-q{min-height:82px!important;padding:0 22px!important;font-size:18px!important;}
 .npbs-ph-faq-a{padding:0 22px 24px!important;}
}


/* =========================================================
   v1.1.3 — FINAL OVERRIDES
   Correct rendered selectors + Knowledge FAQ Pro styling
   ========================================================= */

/* SECTION 6 — Process to CTA spacing */
.npbs-ph-process + .npbs-ph-btn.primary{
    margin-top:32px!important;
}

/* SECTION 7 — Proof grid to CTA spacing */
.npbs-ph-quality .npbs-ph-proof-grid + .npbs-ph-btn.outline{
    margin-top:36px!important;
}

/* CTA hover: Industic-style black background / white text */
.npbs-ph-btn.primary,
.npbs-ph-btn.outline{
    transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s ease!important;
}
.npbs-ph-btn.primary:hover,
.npbs-ph-btn.primary:focus-visible,
.npbs-ph-btn.outline:hover,
.npbs-ph-btn.outline:focus-visible{
    background:#1f1f1f!important;
    border-color:#1f1f1f!important;
    color:#fff!important;
    outline:0!important;
}
.npbs-ph-btn.primary:hover span,
.npbs-ph-btn.primary:focus-visible span,
.npbs-ph-btn.outline:hover span,
.npbs-ph-btn.outline:focus-visible span{
    color:#fff!important;
}

/* SECTION 9 — Knowledge FAQ Pro visual language, kept in 2 columns */
.npbs-ph-faq-grid{
    max-width:1180px!important;
    margin:42px auto 0!important;
    display:grid!important;
    grid-template-columns:repeat(var(--faq-cols,2),minmax(0,1fr))!important;
    gap:20px 24px!important;
    align-items:start!important;
}
.npbs-ph-faq-item{
    border:0!important;
    border-top:1px solid #e8e8e8!important;
    border-bottom:1px solid #e8e8e8!important;
    background:#fff!important;
    box-shadow:none!important;
}
.npbs-ph-faq-q{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:74px!important;
    margin:0!important;
    padding:20px 24px!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:#222!important;
    font-family:inherit!important;
    font-size:17px!important;
    font-weight:600!important;
    line-height:1.45!important;
    text-align:left!important;
    cursor:pointer!important;
    transition:background-color .2s ease,color .2s ease!important;
}
.npbs-ph-faq-q:hover,
.npbs-ph-faq-q:focus-visible,
.npbs-ph-faq-item.is-open > .npbs-ph-faq-q{
    background:var(--accent,#ff7607)!important;
    color:#fff!important;
    outline:0!important;
}
.npbs-ph-faq-q b{
    position:relative!important;
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
    margin-left:18px!important;
    color:currentColor!important;
    font-size:0!important;
    transform:none!important;
}
.npbs-ph-faq-q b:before,
.npbs-ph-faq-q b:after{
    content:""!important;
    position:absolute!important;
    top:50%!important;
    left:50%!important;
    width:14px!important;
    height:2px!important;
    background:currentColor!important;
    transform:translate(-50%,-50%)!important;
    transition:transform .2s ease!important;
}
.npbs-ph-faq-q b:after{
    transform:translate(-50%,-50%) rotate(90deg)!important;
}
.npbs-ph-faq-item.is-open .npbs-ph-faq-q b:after{
    transform:translate(-50%,-50%) rotate(0)!important;
}
.npbs-ph-faq-a{
    display:none;
    overflow:hidden!important;
    padding:0!important;
    background:#fff!important;
}
.npbs-ph-faq-item.is-open .npbs-ph-faq-a{
    display:block;
}
.npbs-ph-faq-a p{
    margin:0!important;
    padding:24px 26px 28px!important;
    color:#555!important;
    font-size:16px!important;
    line-height:1.8!important;
}

@media(max-width:767px){
    .npbs-ph-faq-grid{
        grid-template-columns:1fr!important;
        gap:18px!important;
    }
    .npbs-ph-faq-q{
        min-height:64px!important;
        padding:17px 18px!important;
        font-size:16px!important;
    }
    .npbs-ph-faq-a p{
        padding:20px 18px 24px!important;
    }
}

/* v1.1.4 — Theme-default backgrounds + WPBakery native Design Options */
.npbs-ph-rfq.theme .npbs-ph-heading{color:#202020!important}
.npbs-ph-rfq.theme .npbs-ph-description{color:#686868!important}
.npbs-ph-rfq.theme .npbs-ph-btn.ghost{border-color:#222!important;color:#222!important}
.npbs-ph-rfq.theme .npbs-ph-rfq-list div{border-color:#ddd!important}
.npbs-ph-rfq.dark .npbs-ph-heading,
.npbs-ph-rfq.orange .npbs-ph-heading{color:#fff!important}
.npbs-ph-rfq.dark .npbs-ph-description,
.npbs-ph-rfq.orange .npbs-ph-description{color:rgba(255,255,255,.78)!important}

/* Component-level WPBakery Design Options may set backgrounds on the same section.
   When no background is selected, Industic / outer Row background remains visible. */
.npbs-ph-section.vc_custom,
.npbs-ph-rfq.vc_custom{
    background-repeat:no-repeat;
    background-position:center;
}
\n\n/* v1.1.5 — Section 7 mirrored layout + uncropped proof image */\n.npbs-ph-quality-grid{align-items:start!important;}\n.npbs-ph-quality-media{\n    min-height:0!important;\n    height:auto!important;\n    background:transparent!important;\n}\n.npbs-ph-quality-media img{\n    display:block!important;\n    width:100%!important;\n    height:auto!important;\n    min-height:0!important;\n    object-fit:contain!important;\n}\n@media(max-width:900px){\n    .npbs-ph-quality.reverse .npbs-ph-quality-media{order:initial;}\n}\n@media(max-width:767px){\n    .npbs-ph-quality-media,\n    .npbs-ph-quality-media img{\n        min-height:0!important;\n        height:auto!important;\n    }\n}\n

/* =========================================================
   v1.1.6 — SECTION 7 TRUE EQUAL-HEIGHT / UNCROPPED IMAGE FIX
   Recommended source image: 1200 × 1500 px (4:5)
   ========================================================= */

/* Make both columns truly equal-height and top aligned. */
.npbs-ph-quality .npbs-ph-quality-grid{
    align-items:stretch!important;
}

/* Content column defines the natural section height. */
.npbs-ph-quality .npbs-ph-quality-content{
    height:auto!important;
    align-self:stretch!important;
}

/* Image column stretches from the same top edge to the same bottom edge. */
.npbs-ph-quality .npbs-ph-quality-media{
    min-height:0!important;
    height:100%!important;
    align-self:stretch!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:transparent!important;
}

/* Do not crop or distort the 4:5 artwork. */
.npbs-ph-quality .npbs-ph-quality-media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center top!important;
}

/* Desktop: keep visual top edges aligned. */
@media(min-width:901px){
    .npbs-ph-quality .npbs-ph-quality-grid{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    }
    .npbs-ph-quality .npbs-ph-quality-media,
    .npbs-ph-quality .npbs-ph-quality-content{
        align-self:stretch!important;
    }
}

/* Tablet/mobile revert to natural image height. */
@media(max-width:900px){
    .npbs-ph-quality .npbs-ph-quality-media{
        height:auto!important;
        min-height:0!important;
    }
    .npbs-ph-quality .npbs-ph-quality-media img{
        width:100%!important;
        height:auto!important;
        object-fit:contain!important;
    }
}
