/* Isolated service presentation. No selector affects the approved pilots or shared shell. */
.sv15.sv-payroll { position:relative; background:#06152a; color:#f4f0e8; --cream:#f4f0e8; --ink:#11283d; --secondary:#4d5c64; --ochre:#856122; --rule:#d6d1c6; }
.sv15.sv-payroll * { min-width:0; }
.sv15.sv-payroll .container { width:min(1180px,calc(100% - 64px)); }
.sv15.sv-payroll h1,.sv15.sv-payroll h2,.sv15.sv-payroll h3 { font-weight:400; }
.sv15.sv-payroll h1 { font-size:clamp(2.9rem,4.5vw,4.4rem); line-height:1.05; margin:0 0 28px; max-width:900px; }
.sv15.sv-payroll h2 { font-size:clamp(2.3rem,3.35vw,3.2rem); line-height:1.1; margin:0 0 26px; }
.sv15.sv-payroll h3 { font-family:var(--serif); font-size:1.85rem; line-height:1.2; margin:0 0 15px; }
.sv15.sv-payroll p { line-height:1.8; color:#c5d0da; }
.sv15.sv-payroll .sv-section { padding:66px 0; }
.sv15.sv-payroll .sv-light { background:var(--cream); color:var(--ink); }
.sv15.sv-payroll .sv-light p,.sv15.sv-payroll .sv-light li { color:var(--secondary); }
.sv15.sv-payroll .sv-dark { background:#092139; }
.sv15.sv-payroll .sv-kicker { color:#f2c972; font:700 .68rem/1.7 var(--sans); letter-spacing:.14em; margin:0 0 22px; }
.sv15.sv-payroll .sv-light .sv-kicker { color:var(--ochre); }
.sv15.sv-payroll .sv-hero { padding:28px 0 60px; }
.sv15.sv-payroll .seo-breadcrumb { font-size:.73rem; margin-bottom:40px; }
.sv15.sv-payroll .lead { font-size:1rem; max-width:580px; margin-bottom:25px; }
.sv15.sv-payroll a:not(.button) { text-decoration:underline; text-underline-offset:5px; color:#f2c972; }
.sv15.sv-payroll .sv-light a:not(.button) { color:var(--ink); }
.sv15.sv-payroll a:focus-visible,.sv15.sv-payroll summary:focus-visible,.sv15.sv-payroll [tabindex]:focus-visible { outline:2px solid #f2c972; outline-offset:5px; }
.sv15.sv-payroll .sv-light a:focus-visible,.sv15.sv-payroll .sv-light summary:focus-visible { outline-color:var(--ochre); }
.sv15.sv-payroll .button { border-radius:0; box-shadow:none; padding:17px 22px; min-height:52px; font-size:.81rem; }
.sv15.sv-payroll .sv-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 25px; }
.sv15.sv-payroll .sv-actions .button-outline { border:0; background:none; padding:13px 0; color:#f2c972; text-decoration:underline; text-underline-offset:5px; min-height:44px; }
.sv15.sv-payroll .sv-group { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.sv15.sv-payroll .sv-list { list-style:none; padding:0; margin:25px 0; }
.sv15.sv-payroll .sv-list li { padding:13px 0; border-bottom:1px solid #506174; line-height:1.8; color:#c5d0da; }
.sv15.sv-payroll .sv-light .sv-list li { border-color:var(--rule); color:var(--secondary); }
.sv15.sv-payroll .sv-terms { font-size:.78rem; letter-spacing:.025em; line-height:2.2; max-width:830px; }
.sv15.sv-payroll .sv-terms span { padding:0 8px; color:#b59a63; }
.sv15.sv-payroll .sv-columns { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:50px; margin:28px 0; }
.sv15.sv-payroll .sv-article { border-top:1px solid #61717d; padding:25px 0 0; background:none; }
.sv15.sv-payroll .sv-light .sv-article { border-color:#bdae92; }
.sv15.sv-payroll .sv-article p { margin:0; }
.sv15.sv-payroll .sv-dominant { margin:0; }
.sv15.sv-payroll .sv-fine { font-size:.75rem; line-height:1.75; }
.sv15.sv-payroll .sv-data { margin-top:15px; }
.sv15.sv-payroll .sv-data summary { cursor:pointer; min-height:44px; padding:12px 0; font-size:.8rem; text-decoration:underline; text-underline-offset:4px; }
.sv15.sv-payroll .sv-data p { font-size:.82rem; }
.sv15.sv-payroll table { border-collapse:collapse; width:100%; text-align:left; font-size:.85rem; }
.sv15.sv-payroll th,.sv15.sv-payroll td { padding:10px; border-bottom:1px solid #61717d; }
.sv15.sv-payroll caption { text-align:left; padding:10px 0; }
.sv15.sv-payroll .sv-table-scroll { max-width:100%; overflow:auto; }
.sv15.sv-payroll svg { display:block; width:100%; height:auto; }
.sv15.sv-payroll .chart-grid { stroke:#61717d; stroke-opacity:.45; fill:none; }
.sv15.sv-payroll .chart-axis { fill:#c5d0da; font:14px var(--sans); text-anchor:end; }
.sv15.sv-payroll .chart-labels { fill:#c5d0da; font:16px var(--sans); text-anchor:middle; }
.sv15.sv-payroll .chart-values { fill:#f4f0e8; font:600 20px var(--sans); text-anchor:middle; }
.sv15.sv-payroll .seo-faq { max-width:820px; margin-left:auto; }
.sv15.sv-payroll .seo-faq details { padding:10px 0; border-color:var(--rule); }
.sv15.sv-payroll .seo-faq summary { color:var(--ink); min-height:44px; padding:10px 0; line-height:1.6; }
.sv15.sv-payroll .seo-faq p { color:var(--secondary); font-size:.93rem; }
.sv15.sv-payroll .sv-faq-related>.container>.sv-heading:first-child { max-width:320px; }
.sv15.sv-payroll .sv-faq-related>.container>.sv-heading:not(:first-child) { border-top:1px solid var(--rule); margin-top:38px; padding-top:28px; }
.sv15.sv-payroll .sv-faq-related>.container>.sv-heading:not(:first-child) h2 { font-size:1.7rem; }
.sv15.sv-payroll .sv-faq-related .sv-list { display:flex; flex-wrap:wrap; gap:15px 35px; margin-bottom:0; }
.sv15.sv-payroll .sv-faq-related .sv-list li { border:0; padding:0; }
.sv15.sv-payroll .sv-faq-related .sv-list a { display:inline-flex; align-items:center; min-height:44px; font-size:.85rem; }
.sv15.sv-payroll .sv-cta { text-align:center; }
.sv15.sv-payroll .sv-cta h2 { max-width:880px; margin:0 auto 28px; }
.sv15.sv-payroll .sv-cta p { font-size:.83rem; margin-bottom:24px; }
.sv15.sv-payroll .sv-cta p a { display:inline-block; padding:10px 0; }
@media(max-width:1000px) { .sv15.sv-payroll .sv-group { gap:42px; } .sv15.sv-payroll .sv-columns { gap:30px; } }
@media(max-width:760px) {
.sv15.sv-payroll .container { width:calc(100% - 40px); }
.sv15.sv-payroll h1 { font-size:clamp(2.6rem,8.8vw,3.6rem); }
.sv15.sv-payroll h2 { font-size:2.25rem; }
.sv15.sv-payroll h3 { font-size:1.75rem; }
.sv15.sv-payroll .sv-section { padding:40px 0; }
.sv15.sv-payroll .sv-hero { padding:22px 0 36px; }
.sv15.sv-payroll .seo-breadcrumb { margin-bottom:28px; }
.sv15.sv-payroll .sv-kicker { font-size:.63rem; }
.sv15.sv-payroll .sv-group,.sv15.sv-payroll .sv-columns { grid-template-columns:1fr; gap:28px; }
.sv15.sv-payroll .sv-faq-related>.container>.sv-heading:first-child { max-width:none; }
.sv15.sv-payroll .sv-terms { font-size:.78rem; }
.sv15.sv-payroll .sv-cta p { max-width:300px; margin:0 auto 24px; }
.sv15.sv-payroll .sv-data table { font-size:.78rem; }
}

.sv15.sv-payroll .sv-hero-copy { display:grid; grid-template-columns:1.2fr .8fr; gap:0 65px; }
.sv15.sv-payroll .sv-hero-copy .sv-kicker { grid-column:1/-1; }
.sv15.sv-payroll .sv-hero-copy h1 { grid-row:2/4; }
.sv15.sv-payroll .sv-hero-copy .lead { align-self:end; }
.sv15.sv-payroll .sv-actions { align-self:start; }
.sv15.sv-payroll .payroll-calendar { margin-top:42px; border-top:1px solid #61717d; padding-top:25px; }
.sv15.sv-payroll .calendar-title { display:flex; align-items:start; justify-content:space-between; gap:25px; }
.sv15.sv-payroll .calendar-title h2 { font-size:1.9rem; }
.sv15.sv-payroll .calendar-title>p { font-size:.66rem; letter-spacing:.08em; text-align:right; color:#f2c972; }
.sv15.sv-payroll .calendar-title>p span { color:#c5d0da; letter-spacing:0; }
.sv15.sv-payroll .calendar-phases { list-style:none; padding:0; margin:12px 0 0; display:grid; grid-template-columns:repeat(3,1fr); }
.sv15.sv-payroll .calendar-phases li { padding:15px 30px 15px 0; }
.sv15.sv-payroll .calendar-phases li+li { border-left:1px solid #506174; padding-left:30px; }
.sv15.sv-payroll .phase-index { display:block; color:#f2c972; font-size:.7rem; letter-spacing:.08em; margin-bottom:25px; }
.sv15.sv-payroll .calendar-phases h3 { font-size:2rem; }
.sv15.sv-payroll .calendar-phases p { margin-bottom:22px; }
.sv15.sv-payroll .phase-note { font-size:.62rem; color:#c5d0da; line-height:1.8; display:block; }
.sv15.sv-payroll .cycle-return { border-top:1px solid #506174; padding-top:18px; font-size:.76rem; margin:15px 0 0; display:flex; justify-content:space-between; }
.sv15.sv-payroll .cycle-return span { color:#f2c972; font-size:1.4rem; }
.sv15.sv-payroll .payroll-scope>.container { display:grid; grid-template-columns:.8fr 1.2fr; column-gap:100px; }
.sv15.sv-payroll .payroll-scope .sv-list { margin-top:0; }
.sv15.sv-payroll .payroll-scope>.container>p { grid-column:2; font-size:.88rem; }
.sv15.sv-payroll .payroll-independent h2 { font-size:2.5rem; }
.sv15.sv-payroll .payroll-independent .sv-group>div:last-child { align-self:end; }
.sv15.sv-payroll .payroll-independent .sv-group>div:last-child h2 { font-size:1.8rem; }
@media(max-width:1000px) { .sv15.sv-payroll .sv-hero-copy { gap:0 35px; } .sv15.sv-payroll .calendar-phases h3 { font-size:1.7rem; } .sv15.sv-payroll .payroll-scope>.container { column-gap:45px; } }
@media(max-width:760px) {
.sv15.sv-payroll .sv-hero-copy { display:block; }
.sv15.sv-payroll .calendar-title { display:block; }
.sv15.sv-payroll .calendar-title>p { text-align:left; }
.sv15.sv-payroll .calendar-phases { display:block; }
.sv15.sv-payroll .calendar-phases li,.sv15.sv-payroll .calendar-phases li+li { border-left:0; border-top:1px solid #506174; padding:22px 0; }
.sv15.sv-payroll .phase-index { margin-bottom:12px; }
.sv15.sv-payroll .calendar-phases p { margin-bottom:12px; }
.sv15.sv-payroll .calendar-phases li:last-child { padding-bottom:10px; }
.sv15.sv-payroll .payroll-scope>.container { display:block; }
.sv15.sv-payroll .payroll-independent h2 { font-size:2.25rem; }
}
