/* PrintPulse homepage: same content sequence as DigiPrintHub, independent presentation. */
.pp-banner{position:relative;isolation:isolate;background:#17263b;min-height:590px;color:#fff;overflow:hidden}.pp-banner-photo{position:absolute;inset:0 0 0 auto;width:67%;height:100%;object-fit:cover;object-position:center;z-index:-2}.pp-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#17263b 8%,#17263bf5 30%,#17263bab 49%,#17263b08 76%);z-index:-1}.pp-banner-inner{padding-top:65px;padding-bottom:65px}.pp-banner-copy{max-width:590px}.pp-banner .eyebrow{color:#f7b49d;font-size:10px;letter-spacing:.18em}.pp-banner h1{font-size:clamp(48px,5.7vw,80px);line-height:1.02;letter-spacing:-.055em;margin-bottom:24px}.pp-banner h1 em{color:#f7b49d}.pp-banner-copy>p{color:#e0e5ec;max-width:450px;font-size:17px;line-height:1.8}.pp-banner .button{background:#f7a58b;color:#17263b}.pp-banner .button:hover{background:#ffd0be}.pp-banner-link{font-size:13px;border-bottom:1px solid #aeb8c6;padding:8px 0}.pp-banner-tags{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:35px;font-size:10px;color:#e0e5ec}.pp-banner-tags span:before{content:"+";color:#f7a58b;margin-right:8px}.pp-banner-caption{position:absolute;right:35px;bottom:28px;padding:12px 18px;background:#fffaf4ed;color:#17263b;border-radius:5px;font-size:11px}.pp-home .service-strip{background:#f4c3ac;color:#17263b}.pp-home .service-strip b{color:#93412d}.pp-home .service-grid{gap:18px}.pp-home .service-card{border-top:3px solid #f0aa90}.pp-home-about{background:#f5e8dc}.pp-about-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:70px}.pp-about-grid figure{margin:0;position:relative}.pp-about-grid img{width:100%;height:490px;object-fit:cover;border-radius:12px 80px 12px 12px}.pp-about-grid figcaption{padding:16px 20px;background:#fffaf4;position:absolute;bottom:22px;left:22px;right:22px;font-size:12px;border-radius:6px}.pp-about-grid h2 em{color:#ad4128}.pp-about-grid .text-link{margin-top:28px}.pp-about-grid .large-copy{font-size:23px}.pp-process-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:start}.pp-process-layout>.process-grid{grid-template-columns:1fr 1fr;margin-top:0;gap:35px}.pp-process-layout>.process-grid>div{border-top:1px solid #48566a;padding-top:20px}.pp-process-layout>.process-grid h3{font-size:23px}.pp-process-layout .text-link{color:#f7b49d;border-color:#f7b49d}.pp-feedback{background:#f5e8dc}.pp-feedback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pp-feedback-card{margin:0;padding:30px;background:#fffaf4;border:1px solid #e3d2c2;border-radius:12px;display:flex;flex-direction:column}.pp-feedback-card .eyebrow{color:#ad4128;font-size:10px}.pp-feedback-card blockquote{margin:0;flex:1}.pp-feedback-card blockquote p{font-size:17px;line-height:1.8;color:#17263b}.pp-feedback-card figcaption{border-top:1px solid #e3d2c2;padding-top:18px;display:grid;gap:3px;font-size:13px}.pp-feedback-card figcaption span{font-size:11px;color:#616975}
@media(max-width:1000px){.pp-banner-copy{max-width:530px}.pp-banner-caption{display:none}.pp-about-grid{gap:35px}.pp-about-grid img{height:450px}.pp-process-layout{gap:35px;grid-template-columns:1fr}.pp-feedback-grid{gap:14px}.pp-feedback-card{padding:22px}}
@media(max-width:760px){.pp-banner{min-height:0;padding-bottom:260px}.pp-banner-photo{top:auto;bottom:0;width:100%;height:310px;object-position:center 55%}.pp-banner:after{background:linear-gradient(180deg,#17263b 0%,#17263b 58%,#17263b00 84%)}.pp-banner-inner{padding-top:42px;padding-bottom:25px}.pp-banner h1{font-size:clamp(47px,10vw,68px)}.pp-banner-copy>p{font-size:16px}.pp-banner .button-row{gap:20px}.pp-banner-tags{margin-top:25px;gap:10px 16px}.pp-about-grid{grid-template-columns:1fr}.pp-about-grid img{height:340px}.pp-feedback-grid{grid-template-columns:1fr}.pp-feedback-card{padding:28px}.pp-process-layout>.process-grid{gap:24px}.pp-process-layout>.process-grid h3{font-size:21px}}
@media(max-width:380px){.pp-banner .eyebrow{font-size:8px}.pp-banner-tags{font-size:9px}.pp-banner h1{font-size:46px}}

/* Full-width digital marketing image hero. */
.pp-marketing-banner{min-height:520px;display:flex;align-items:center;padding:0;background:#071b30}
.pp-marketing-banner .pp-banner-photo{inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.pp-marketing-banner:after{background:linear-gradient(90deg,rgba(4,20,37,.35),transparent 75%)}
.pp-marketing-banner .pp-banner-inner{width:100%;padding-top:56px;padding-bottom:56px}
.pp-marketing-banner .pp-banner-copy{max-width:650px}
.pp-marketing-banner h1{font-size:clamp(38px,4.2vw,64px);line-height:1.08;letter-spacing:-.035em;color:#fff;margin-bottom:22px}
.pp-marketing-banner h1 em{font-style:normal;color:#f7b49d}
.pp-marketing-banner .pp-hero-phone{display:inline-flex;flex-direction:column;gap:8px;margin-top:16px;color:#fff;padding:15px 22px;border:1px solid #f7b49d;border-radius:6px;background:#071b3080}
.pp-hero-phone span{font-size:10px;letter-spacing:.12em;color:#f7b49d}
.pp-hero-phone strong{font-size:clamp(24px,2.6vw,36px);line-height:1.2;white-space:nowrap}
.pp-marketing-banner .pp-hero-phone:hover{background:#172f46}
.pp-hero-phone:focus-visible{outline:3px solid #f7b49d;outline-offset:5px}
/* Dedicated portrait artwork keeps the mobile copy above the laptop. */
@media(max-width:760px){
.pp-marketing-banner{min-height:0;display:block;padding:0}
.pp-marketing-banner .pp-banner-photo{inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.pp-marketing-banner:after{background:linear-gradient(180deg,rgba(4,20,37,.25),transparent 65%)}
.pp-marketing-banner .pp-banner-inner{width:100%;padding:32px 22px clamp(260px,62vw,470px);text-align:center}
.pp-marketing-banner .pp-banner-copy{max-width:480px;margin:0 auto}
.pp-marketing-banner .eyebrow{font-size:10px;margin-bottom:14px}
.pp-marketing-banner h1{font-size:clamp(28px,7.2vw,46px);line-height:1.12;margin-bottom:14px}
.pp-marketing-banner .pp-banner-copy>p{font-size:14px;line-height:1.6;max-width:360px;margin:0 auto 16px}
.pp-marketing-banner .pp-hero-phone{margin-top:0;padding:12px 16px;max-width:100%;background:#071b30d9;gap:7px}
.pp-marketing-banner .pp-hero-phone span{font-size:9px;letter-spacing:.08em}
.pp-marketing-banner .pp-hero-phone strong{font-size:clamp(23px,6vw,30px)}
}