/* Payroll landing page; builds on the shared HR service-page layout. */
.payroll-page .payroll-hero { background-image: linear-gradient(90deg,#051e36f5 0%,#051e36db 42%,#051e3633 90%),url('../images/payroll-hero.png'); background-position: center; }
.payroll-page .hr-hero-copy { max-width: 660px; }
.payroll-page .hr-intro-visual img { object-position: 75% center; }
.payroll-process { padding: 48px 0; color: #fff; background: radial-gradient(ellipse at 100% 100%,#c9a96e20,transparent 65%),linear-gradient(115deg,#071a3b,#133853); }
.payroll-process h2 { color: #fff; }
.payroll-process > .container > p { font-size: 16px; margin: 14px 0 30px; }
.payroll-steps { list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; padding: 0; margin: 0; }
.payroll-steps li { display: flex; gap: 14px; }
.payroll-steps li > span { flex: 0 0 42px; height: 42px; border: 1px solid #c9a96e; border-radius: 50%; display: grid; place-items: center; color: #e0c898; font-size: 13px; }
.payroll-steps h3 { color: white; font: 500 15px/1.5 Inter,sans-serif; margin: 4px 0 8px; }
.payroll-steps p { color: #dae1eb; font-size: 13px; line-height: 1.7; margin: 0; }
.payroll-faq { padding: 48px 0; background: #faf8f3; }
.payroll-faq .accordion-button { color: #071a3b; font-size: 16px; }
.payroll-contact { padding: 30px 0; background: #eee9df; }
.payroll-contact .container { display: flex; align-items: center; gap: 24px; }
.payroll-contact .container > i { font-size: 36px; color: #9c815e; }
.payroll-contact h2 { font-size: 30px; margin: 0 0 8px; }
.payroll-contact p { margin: 0; font-size: 15px; }
.payroll-contact .hero-btn { margin-left: auto; background: #071a3b; color: white; flex-shrink: 0; }
@media(max-width:991px) { .payroll-steps { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .payroll-steps { grid-template-columns: minmax(0,1fr); } .payroll-contact .container { flex-wrap: wrap; } .payroll-contact .hero-btn { width: 100%; margin: 0; } .payroll-contact h2 { font-size: 27px; } }

/* Original website copy, presented with the current service-page branding. */
.payroll-original-content .section-padding { padding: 56px 0; }
.payroll-page .payroll-restored-hero { padding: 48px 0 60px; }
.payroll-restored-hero > .container { text-align: left !important; }
.payroll-restored-hero .breadcrumb { justify-content: flex-start !important; font-size: 13px; }
.payroll-restored-hero .breadcrumb a { color: #e0c898; }
.payroll-restored-hero .breadcrumb .active, .payroll-restored-hero .breadcrumb-item::before { color: #e8e4dd; }
.payroll-page .payroll-restored-hero h1 { max-width: 750px; font-size: clamp(34px,3.5vw,54px); }
.payroll-restored-hero .row { justify-content: flex-start !important; }
.payroll-restored-hero .col-lg-8 { width: min(100%,640px); }
.payroll-restored-hero .section-body { font-size: 16px; line-height: 1.75; }
.payroll-original-content .service-card { border-radius: 8px; box-shadow: 0 8px 24px #071a3b08; }
.payroll-original-content .service-card h4 { font-size: 24px; line-height: 1.25; }
.payroll-original-content .service-card p, .payroll-original-content .pr-bullets { font-size: 15px; line-height: 1.75; }
.payroll-original-content .pr-note { font-size: 14px; line-height: 1.7; }
.payroll-original-content .ind-card, .payroll-original-content .hiw-card { border: 1px solid #ddd8cf; border-radius: 8px; height: 100%; }
.payroll-original-content .ind-card-sub, .payroll-original-content .hiw-card-sub { font-size: 15px; line-height: 1.75; }
.payroll-original-content .cta-band { padding: 48px 0; }
@media(max-width:575px) { .payroll-original-content .section-padding { padding: 38px 0; } }
