.pfc{--pfc-forest:#003b24;--pfc-green:#08783d;--pfc-cream:#f7f7ee;--pfc-line:#d7dfd4;--pfc-muted:#56665b;font-family:inherit;font-size:1rem;line-height:1.55;color:#173d2b;max-width:1180px;margin:0 auto;text-align:left;color-scheme:light}
.pfc *{box-sizing:border-box}
.pfc [hidden]{display:none!important}
.pfc h2,.pfc h3,.pfc p{margin:0}
.pfc h2,.pfc h3{font-family:inherit;color:inherit;line-height:1.15}
.pfc button,.pfc input,.pfc select{font:inherit;letter-spacing:normal}
.pfc button{cursor:pointer;white-space:normal;transition:background .15s,color .15s;box-shadow:none;text-transform:none}
.pfc button:disabled{opacity:.55;cursor:not-allowed}
.pfc button:focus-visible,.pfc a:focus-visible,.pfc summary:focus-visible,.pfc [tabindex]:focus-visible{outline:3px solid #bf822d;outline-offset:4px}
.pfc-heading{padding:12px 0 34px;max-width:740px}
.pfc .pfc-eyebrow{display:block;font-size:1rem;font-weight:750;letter-spacing:2px;margin-bottom:16px}
.pfc-heading h2{font-size:3rem;font-weight:650;letter-spacing:-1.6px;margin-bottom:18px}
.pfc-heading p{font-size:1.0625rem;color:var(--pfc-muted);max-width:630px}
.pfc-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:start}
.pfc-form{background:var(--pfc-cream);border:1px solid var(--pfc-line);border-radius:16px;padding:32px;margin:0}
.pfc-section-title{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.pfc-section-title h3{font-size:1.25rem;font-weight:650}
.pfc-step{display:grid;place-items:center;border:1px solid #abbcab;border-radius:50%;width:31px;height:31px;flex-shrink:0;font-size:1rem;font-weight:700}
.pfc .pfc-second{margin-top:28px;border-top:1px solid var(--pfc-line);padding-top:26px}
.pfc-field{margin-bottom:19px}
.pfc label{display:block;font-size:1rem;font-weight:650;margin-bottom:8px;color:#173d2b}
.pfc input[type=number],.pfc select{display:block;width:100%;min-height:49px;border:1px solid #a8b9ab;background:#fff;color:#173d2b;border-radius:7px;padding:11px 13px;line-height:1.4}
.pfc select{appearance:auto;padding-right:26px}
.pfc input:focus,.pfc select:focus{outline:2px solid var(--pfc-green);outline-offset:2px}
.pfc input[aria-invalid=true]{border-color:#a22222}
.pfc small{display:block;font-size:1rem;color:var(--pfc-muted);line-height:1.55;margin-top:7px}
.pfc-money-input{position:relative}
.pfc-money-input>span{position:absolute;left:15px;top:11px;font-size:1.4375rem}
.pfc .pfc-money-input input{padding-left:38px;font-size:1.625rem;font-weight:600;min-height:61px}
.pfc .pfc-check{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:500}
.pfc input[type=checkbox]{width:18px;height:18px;accent-color:var(--pfc-green);margin:0;flex-shrink:0}
.pfc-form-actions{display:flex;align-items:center;gap:15px;margin:24px 0 14px}
.pfc .pfc-primary{background:var(--pfc-forest);color:#fff;border:0;border-radius:7px;padding:14px 17px;flex:1;font-size:1rem;font-weight:650;display:flex;justify-content:space-between;gap:10px;align-items:center}
.pfc .pfc-primary:hover{background:#09673d}
.pfc .pfc-link{background:transparent;border:0;color:#245338;padding:10px 0;font-size:1rem;text-decoration:underline}
.pfc .pfc-error{font-size:1rem;color:#a22222;padding-top:12px}
.pfc-results{position:relative;background:var(--pfc-forest);color:#fff;border-radius:16px;padding:34px;overflow:hidden}
.pfc-results:before{content:'';position:absolute;inset:0;background:url("curve-white.svg") center/100% 100% no-repeat;opacity:.1;pointer-events:none}
.pfc-results>*{position:relative;z-index:1}
.pfc-results .pfc-eyebrow{color:#b9d6bf;font-size:1rem}
.pfc-results h3{font-size:1.25rem;font-weight:450;color:#fff;margin-bottom:24px}
.pfc-periods{display:inline-flex;background:#164c35;border-radius:8px;padding:4px;gap:3px;max-width:100%}
.pfc .pfc-periods button{border:0;background:transparent;color:#d5e7d7;font-size:1rem;border-radius:5px;padding:9px 15px}
.pfc .pfc-periods button[aria-pressed=true]{background:#ecf4de;color:#123c28;font-weight:650}
.pfc-net{margin:28px 0 20px;display:flex;flex-direction:column}
.pfc-net strong{font-size:3rem;font-weight:550;letter-spacing:-1.5px;line-height:1.15;font-variant-numeric:tabular-nums}
.pfc-net span{font-size:1rem;color:#c0d5c5;margin-top:7px}
.pfc .pfc-retained{font-size:1rem;color:#d1e2d3;margin-bottom:12px}
.pfc-bar{display:flex;height:9px;border-radius:10px;overflow:hidden;background:#28593f}
.pfc-segment-net{background:#b6d88b}
.pfc-segment-tax{background:#71aa87}
.pfc-segment-ni{background:#e1bb7e}
.pfc-segment-pension{background:#dbe9ca}
.pfc-segment-student,.pfc-segment-postgraduate{background:#92b5be}
.pfc-summary{margin:23px 0 28px}
.pfc-summary>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #326148;padding:12px 0;font-size:1rem}
.pfc-summary dt{color:#cdddce;font-weight:400}
.pfc-summary dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.pfc-export{display:flex;gap:10px;flex-wrap:wrap}
.pfc .pfc-export button{border:1px solid #719681;background:transparent;color:#fff;border-radius:6px;padding:10px 12px;font-size:1rem;flex:1}
.pfc .pfc-export button:hover{background:#285f42}
.pfc .pfc-status{font-size:1rem;margin-top:10px;min-height:18px;color:#d5e6d1}
.pfc-note{display:flex;gap:15px;padding:24px 10px;color:#315541}
.pfc-note>span{font-size:1.75rem}
.pfc-note strong{font-size:1rem}
.pfc-note p{font-size:1rem;margin-top:4px}
.pfc-detail{margin-top:42px}
.pfc-detail .pfc-section-title{margin-bottom:12px}
.pfc-detail>p,.pfc-comparison>p{font-size:1rem;color:var(--pfc-muted);margin-bottom:20px}
.pfc-table-scroll{overflow:auto;border:1px solid var(--pfc-line);border-radius:12px}
.pfc table{width:100%;border-collapse:collapse;margin:0;border:0;min-width:540px;font-size:1rem;background:#fff}
.pfc th,.pfc td{padding:16px 20px;border:0;border-bottom:1px solid #e3e8de;text-align:right;font-variant-numeric:tabular-nums}
.pfc th:first-child{text-align:left}
.pfc thead{background:var(--pfc-cream)}
.pfc tbody th{font-weight:500}
.pfc tbody tr:last-child{background:#edf3e4;font-weight:700}
.pfc tbody tr:last-child th{font-weight:700}
.pfc tbody tr:last-child>*{border-bottom:0}
.pfc-comparison{margin-top:36px}
.pfc-comparison h3,.pfc-faq h3{font-size:1.375rem;font-weight:600;margin-bottom:10px}
.pfc-examples{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pfc .pfc-examples button{border:1px solid var(--pfc-line);background:#fff;border-radius:9px;padding:20px 12px;text-align:left;color:#214a32}
.pfc .pfc-examples button:hover{background:#f0f5e9;border-color:#548868}
.pfc-examples strong,.pfc-examples span{display:block}
.pfc-examples strong{font-size:1.1875rem;font-weight:600;margin-bottom:7px}
.pfc-examples span{font-size:1rem;color:var(--pfc-muted)}
.pfc-faq{margin-top:38px}
.pfc details{border-bottom:1px solid var(--pfc-line);padding:18px 0}
.pfc summary{cursor:pointer;font-size:1rem;font-weight:600}
.pfc details p{font-size:1rem;color:var(--pfc-muted);margin-top:12px;max-width:900px}
.pfc-footer{border-top:1px solid var(--pfc-line);margin-top:32px;padding:22px 0}
.pfc-footer p{font-size:1rem;color:var(--pfc-muted)}
.pfc-footer a{color:var(--pfc-green);text-decoration:underline}
.pfc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.pfc-layout{grid-template-columns:1fr}
.pfc-heading{padding-bottom:25px}
.pfc-form,.pfc-results{padding:24px}
.pfc-examples{grid-template-columns:repeat(2,1fr)}
.pfc-net strong{font-size:2.75rem}
.pfc-note{padding:20px 6px}
.pfc-detail{margin-top:25px}
}
@media(max-width:380px){.pfc-form,.pfc-results{padding:18px}
.pfc-periods button{padding:9px 10px!important}
.pfc-net strong{font-size:2.25rem}
.pfc-form-actions{gap:9px}
.pfc-heading h2{letter-spacing:-.8px}
}

/* Adapt to narrow Elementor/theme containers as well as small screens. */
.pfc-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.pfc-layout>*{min-width:0}


/* Match the existing Profectus font without loading a second copy. */
.pfc,.pfc *{font-family:var(--pfc-font-family,"Raleway",sans-serif)!important}

.pfc .pfc-button-arrow{display:block;width:24px;height:24px;min-width:24px;flex:0 0 24px;object-fit:contain}

.pfc-results .pfc-eyebrow,.pfc-results .pfc-net span,.pfc-results .pfc-retained,.pfc-results .pfc-summary dt,.pfc-results .pfc-status{color:#fff}


.pfc-ir35-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:1.5rem;align-items:start}
.pfc-ir35-results{min-width:0}
.pfc-ir35-results>.pfc-periods{background:#e6eddf;margin-bottom:1rem}
.pfc .pfc-ir35-results>.pfc-periods button{color:#173d2b}
.pfc .pfc-ir35-results>.pfc-periods button[aria-pressed=true]{background:#003b24;color:white}
.pfc-ir35-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.pfc-ir35 .pfc-results{padding:1.5rem}
.pfc-ir35 .pfc-net strong{font-size:2.1rem;letter-spacing:-.05rem;overflow-wrap:anywhere}
.pfc-ir35 .pfc-results h3{font-size:1.5rem}
.pfc-ir35-difference{background:#edf3e4;border:1px solid var(--pfc-line);border-radius:1rem;padding:1.5rem;margin-top:1rem}
.pfc-ir35-difference p{margin-top:.75rem;font-size:1.125rem}
.pfc .pfc-ir35-context{margin:1rem 0;color:var(--pfc-muted)}
.pfc-ir35-assumptions .pfc-field{margin-top:1rem}
.pfc-ir35-export{display:flex;gap:.75rem;flex-wrap:wrap}
.pfc .pfc-ir35-export button{border:1px solid #a8b9ab;border-radius:.5rem;background:white;color:#173d2b;padding:.75rem 1rem;flex:1}
.pfc-ir35 .pfc-table-scroll{margin-top:1rem}
@media(max-width:1000px){.pfc-ir35-layout{grid-template-columns:1fr}}
@media(max-width:760px){.pfc-ir35-cards{grid-template-columns:1fr}.pfc-ir35 .pfc-results h3{font-size:1.2rem}.pfc-ir35 .pfc-net strong{font-size:2.25rem}}
/* Typography follows the site's root font size; no calculator text is below 1rem. */
.pfc h3{font-size:1.5rem}

.pfc-heading h2{font-size:3rem}

.pfc .pfc-periods{display:flex;flex-wrap:wrap}

.pfc .pfc-periods button{flex:1 1 auto;padding:.5625rem .5rem}

.pfc .pfc-annual-equivalent{font-size:1rem;margin:0 0 1.25rem;color:var(--pfc-muted)}

.pfc .pfc-annual-equivalent:empty{display:none}

.pfc-summary dt{min-width:0}
.pfc-summary dd{flex-shrink:0}

.pfc-examples{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}

@media(max-width:760px){.pfc-heading h2{font-size:1.5rem;letter-spacing:normal}
.pfc h3{font-size:1.2rem}
.pfc .pfc-net strong{font-size:2.25rem}
.pfc-form-actions{flex-wrap:wrap}
.pfc .pfc-primary{min-width:0;flex-basis:100%}
.pfc .pfc-periods{display:flex;flex-wrap:wrap}
.pfc .pfc-periods button{flex:1;padding:.5625rem .5rem}
}
