.payroll-page main{min-height:65vh}
.payroll,.service-page{width:calc(100% - 112px);max-width:1232px;margin:auto;padding:64px 0 96px}
.payroll-heading{margin-bottom:40px}.payroll-heading .eyebrow{margin-bottom:20px}.payroll-heading h1{font-size:3.75rem;margin:0 0 24px;max-width:22ch;line-height:1.1}.payroll-heading>p:last-child{font-size:1.125rem;line-height:1.75;color:var(--muted);max-width:55ch;margin-bottom:0}
.payroll-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.payroll-form-panel{padding:40px;border-right:1px solid var(--line)}.payroll label{display:block;font-size:1rem;font-weight:500;margin-bottom:12px}.payroll-field{position:relative;margin-bottom:28px}.payroll input{width:100%;min-height:80px;padding:14px 64px 14px 20px;border:1px solid #96aa94;border-radius:12px;background:var(--white);font-family:var(--font-display);font-size:2.25rem;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.3;letter-spacing:-.04em;color:var(--ink);transition:border-color var(--quick),box-shadow var(--quick)}.payroll input::placeholder{color:#6b7c6a;opacity:1}.payroll input:focus-visible{outline:2px solid var(--green);outline-offset:-1px;box-shadow:0 0 0 5px #d4ed9455}.payroll-unit{position:absolute;right:20px;top:26px;pointer-events:none;color:var(--muted);font-size:1rem}.payroll-help{font-size:.875rem;line-height:1.6;color:var(--muted);margin:12px 0 0}.payroll form .button{width:100%;margin-top:4px}
.payroll-right{background:#eaf0e1;padding:40px;display:flex;flex-direction:column;justify-content:center;min-width:0}.payroll-placeholder{padding-block:12px}.placeholder-mark{display:grid;place-items:center;width:64px;height:64px;font:400 2.5rem/1 Georgia,serif;border:1px solid #a6bb99;border-radius:50%;margin-bottom:24px}.payroll-placeholder h2{font-size:2rem;line-height:1.2;margin:0 0 24px}.payroll-placeholder p{font-size:1rem;line-height:1.75;color:var(--muted);margin:0 0 16px}.payroll-placeholder p:last-child{font-size:.875rem;margin:0}.payroll-right:has(#payroll-result:not([hidden])) .payroll-placeholder,.payroll-right:has(#payroll-status:not([hidden])) .payroll-placeholder{display:none}
.payroll-result:focus{outline:none}.payroll-result:focus-visible{outline:2px solid var(--green);outline-offset:12px;border-radius:8px}.payroll-zone-label{display:inline-flex;padding:6px 12px;border-radius:100px;background:var(--lime);font-size:.875rem;font-weight:500;margin-bottom:20px;line-height:1.5}.payroll-assessment{font-size:2.25rem;line-height:1.15;letter-spacing:-.045em;margin:0 0 24px;max-width:18ch}
.payroll-meter{position:relative;margin:24px 8px 0;padding-top:16px}.payroll-track{height:12px;border-radius:20px;background:linear-gradient(to right,#658c6c 0% 22.222%,#a1bf91 22.222% 33.333%,#d1e69a 33.333% 55.556%,#e4c477 55.556% 66.667%,#c74e48 66.667% 100%)}.payroll-pin{position:absolute;left:44.444%;top:1px;height:35px;width:3px;background:var(--deep);border-radius:4px;transform:translateX(-50%);transition:left 500ms var(--ease)}.payroll-pin:before{content:'';position:absolute;left:-4px;top:-3px;width:11px;height:11px;border:2px solid var(--white);background:var(--deep);border-radius:50%}.payroll-scale{display:flex;justify-content:space-between;font-size:.875rem;color:var(--muted);margin-top:10px}.payroll-zone-key{display:flex;flex-wrap:wrap;gap:4px;margin:16px 0 28px;font-size:.875rem;color:var(--muted)}.payroll-zone-key span{padding:5px 7px;border-radius:6px}.payroll-zone-key .active{background:var(--white);color:var(--deep);box-shadow:0 0 0 1px #b0c4a4}
.payroll-prices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0;border-top:1px solid #cbd8c2;padding-top:24px}.payroll-prices dt{font-size:.875rem;color:var(--muted);margin-bottom:8px}.payroll-prices dd{margin:0;font:500 1.75rem/1.25 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.04em;overflow-wrap:anywhere}.payroll-prices small{display:block;font:400 .875rem/1.5 var(--font-body);letter-spacing:0;color:var(--muted);margin-top:6px}#payroll-context{font-size:1rem;line-height:1.75;margin:24px 0 0}.payroll-result-note{font-size:.875rem;color:var(--muted);line-height:1.65;margin:16px 0 0}#payroll-status{font-size:1.125rem;line-height:1.6;max-width:38ch;margin:0}
.payroll-result[data-zone="0"] .payroll-zone-label,.payroll-result[data-zone="1"] .payroll-zone-label{background:#d4e6bf;color:var(--deep)}.payroll-result[data-zone="3"] .payroll-zone-label{background:#f2e1ad;color:#664c11}.payroll-result[data-zone="4"] .payroll-zone-label{background:#f8dedb;color:#912e2a}.payroll-result[data-zone="4"] .payroll-zone-key .active{background:#f8dedb;color:#912e2a;box-shadow:0 0 0 1px #c74e48}.payroll-result[data-zone="3"] .payroll-zone-key .active{background:#f2e1ad;color:#664c11;box-shadow:0 0 0 1px #c3a651}
.payroll-disclaimer{font-size:.875rem;line-height:1.75;color:var(--muted);max-width:106ch;margin:24px 0 0}.payroll-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:40px;padding:32px 0;border-block:1px solid var(--line)}.payroll-bottom>p{font:500 1.625rem/1.3 var(--font-display);letter-spacing:-.035em;margin:0}.payroll-contact{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;max-width:100%}.payroll-email{font-size:.875rem;line-height:1.5}.payroll-email a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px}.payroll-email a:hover{text-decoration:underline}
.payroll details{margin:0;border-bottom:1px solid var(--line)}.payroll summary{position:relative;cursor:pointer;list-style:none;min-height:64px;display:flex;align-items:center;padding:20px 40px 20px 0;font-size:1.125rem;line-height:1.5;font-weight:500}.payroll summary::-webkit-details-marker{display:none}.payroll summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:400;line-height:1;transition:transform var(--standard) var(--ease)}.payroll details[open]>summary::after{content:'−'}.payroll details p{font-size:1rem;line-height:1.8;max-width:78ch;color:var(--muted);margin:0 0 20px}.payroll details[open]>p{animation:answer-in var(--standard) var(--ease)}.payroll details p:last-child{padding-bottom:4px}.payroll .calculation-method{margin-top:12px}.payroll-faq{margin-top:72px}.payroll-faq h2{font-size:2.625rem;line-height:1.15;max-width:25ch;margin:0 0 32px}.payroll-faq details:first-of-type{border-top:1px solid var(--line)}.payroll .payroll-guide-link{margin:32px 0 0;color:var(--muted);font-size:1rem;line-height:1.8}.payroll-guide-link a,.service-page p a{text-decoration:underline;text-underline-offset:4px}
.service-intro{padding-bottom:64px}.service-intro h1{font-size:4rem;line-height:1.1;letter-spacing:-.055em;margin:0 0 28px;max-width:22ch}.service-intro>p{font-size:1.25rem;line-height:1.7;color:var(--muted);max-width:62ch}.service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.service-content{display:grid;grid-template-columns:1fr 1.12fr;gap:var(--gap);border-top:1px solid var(--line);padding:56px 0}.service-content h2{font-size:2.75rem;line-height:1.15;max-width:18ch}.service-content p,.service-review p,.service-contact p{font-size:1rem;line-height:1.8;color:var(--muted)}.service-content p:last-child{margin-bottom:0}.service-review{background:var(--dark);color:var(--paper);padding:48px;border-radius:var(--radius);margin-bottom:56px}.service-review h2{font-size:2.75rem;max-width:22ch}.service-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}.service-review-grid h3{font-size:1.5rem;color:var(--lime);margin:0 0 20px}.service-review-grid p{color:var(--dark-muted);margin:0}.service-contact{border-top:1px solid var(--line);padding-top:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--gap)}.service-contact h2{font-size:2.5rem;max-width:23ch}.service-contact p{margin:20px 0 0}.service-contact .payroll-email{padding-top:8px}
@media(max-width:1199px){.payroll,.service-page{width:calc(100% - 80px);padding-top:56px}.payroll-form-panel,.payroll-right{padding:32px}.payroll-heading h1{font-size:3.5rem}.payroll-prices{gap:16px}.payroll-prices dd{font-size:1.5rem}.service-intro h1{font-size:3.5rem}.service-review{padding:32px}.service-review-grid{gap:24px}.service-content h2,.service-review h2{font-size:2.5rem}}
@media(max-width:759px){.payroll,.service-page{width:calc(100% - 40px);padding:36px 0 64px}.payroll-heading{margin-bottom:28px}.payroll-heading h1{font-size:2.625rem;max-width:18ch;margin-bottom:20px}.payroll-heading>p:last-child{font-size:1.0625rem}.payroll-heading .eyebrow{font-size:.875rem;margin-bottom:16px}.payroll-layout{grid-template-columns:1fr;border-radius:20px}.payroll-form-panel{border-right:0;border-bottom:1px solid var(--line);padding:24px}.payroll-right{padding:28px 24px;min-height:340px}.payroll input{font-size:2rem;min-height:76px}.payroll label{font-size:1rem}.payroll-unit{top:24px}.payroll-placeholder h2{font-size:1.875rem}.payroll-assessment{font-size:2rem}.payroll-prices dd{font-size:1.5rem}.payroll-zone-key{gap:4px;font-size:.8125rem}.payroll-zone-key span{padding:5px 6px}.payroll-bottom{flex-direction:column;align-items:flex-start;gap:24px;margin-top:28px;padding:28px 0}.payroll-bottom>p{font-size:1.5rem}.payroll-contact{align-items:flex-start}.payroll summary{font-size:1rem;min-height:68px;padding-block:20px}.payroll details p{font-size:1rem}.payroll-faq{margin-top:52px}.payroll-faq h2{font-size:2.25rem;margin-bottom:28px}.service-intro{padding-bottom:40px}.service-intro h1{font-size:2.625rem;max-width:19ch;margin-bottom:24px}.service-intro>p{font-size:1.0625rem}.service-actions{gap:12px;margin-top:24px;align-items:flex-start;flex-direction:column}.service-content{grid-template-columns:1fr;gap:24px;padding:36px 0}.service-content h2,.service-review h2{font-size:2.25rem}.service-review{padding:28px 24px;border-radius:20px;margin:0 0 36px}.service-review-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}.service-review-grid article+article{border-top:1px solid #ffffff30;padding-top:28px}.service-review h3{font-size:1.375rem;margin-bottom:16px}.service-contact{flex-direction:column;align-items:flex-start;gap:28px;padding-top:36px}.service-contact h2{font-size:2.25rem}}
@media(max-width:374px){.payroll,.service-page{width:calc(100% - 32px)}.payroll-form-panel,.payroll-right{padding:24px 20px}.payroll-prices{grid-template-columns:1fr;gap:20px}.payroll-assessment{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){.payroll-pin{transition:none}.payroll details[open]>p{animation:none}}
