
.pfr-tools-v3{
    --pfr-max:1440px;
    --pfr-text:#1F2224;
    --pfr-body:#687078;
    --pfr-copper:#C96F36;
    --pfr-copper-dark:#B95E28;
    --pfr-blue:#355874;
    --pfr-tan:#A84F08;
    --pfr-green:#3D4A43;
    --pfr-line:#EAE7E1;
    background:#fff;
    color:var(--pfr-text);
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}

.pfr-tools-v3 *,
.pfr-tools-v3 *::before,
.pfr-tools-v3 *::after{box-sizing:border-box}

/* Hide the Foundation theme's duplicate WordPress page title only on the Tools page. */
body:has(.pfr-tools-v3) .pfr-page-header,
body:has(.pfr-tools-v3) > .pfr-main .pfr-page > .pfr-wrap > .pfr-page-title{
    display:none;
}

body:has(.pfr-tools-v3) .pfr-page{
    padding:0;
}

body:has(.pfr-tools-v3) .pfr-page > .pfr-wrap{
    width:100%;
    max-width:none;
    margin:0;
}

body:has(.pfr-tools-v3) .pfr-page .pfr-content{
    max-width:none;
}

.pfr-tools-wrap{
    width:min(calc(100% - 80px),var(--pfr-max));
    margin-inline:auto;
}

.pfr-tools-hero{
    padding:54px 0 40px;
    border-bottom:1px solid var(--pfr-line);
    background:
      radial-gradient(circle at 82% 18%, rgba(239,214,176,.20), transparent 30%),
      #fff;
}

.pfr-tools-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr);
    gap:64px;
    align-items:center;
}

.pfr-tools-eyebrow,
.pfr-tools-kicker,
.pfr-tool-label{
    color:var(--pfr-copper);
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.20em;
    text-transform:uppercase;
}

.pfr-tools-hero h1{
    margin:18px 0 20px;
    font-size:clamp(58px,6.2vw,92px);
    line-height:.92;
    letter-spacing:-.065em;
    font-weight:850;
}

.pfr-tools-hero-copy > p{
    max-width:660px;
    margin:0;
    color:var(--pfr-body);
    font-size:20px;
    line-height:1.5;
}

.pfr-tools-primary-cta{
    display:inline-flex;
    align-items:center;
    gap:16px;
    margin-top:26px;
    padding:15px 24px;
    border-radius:999px;
    background:var(--pfr-copper);
    color:#fff;
    text-decoration:none;
    font-size:17px;
    font-weight:750;
    box-shadow:0 10px 24px rgba(201,111,54,.18);
    transition:transform .18s ease,background-color .18s ease;
}

.pfr-tools-primary-cta:hover{
    transform:translateY(-1px);
    background:var(--pfr-copper-dark);
}

.pfr-tools-cta-note{
    margin-top:10px;
    color:#7A8085;
    font-size:13px;
}

.pfr-tools-hero-visual{
    position:relative;
    min-height:350px;
    padding:34px 40px 22px;
    overflow:hidden;
    border:1px solid rgba(35,37,38,.08);
    border-radius:24px;
    background:rgba(255,255,255,.96);
    box-shadow:0 24px 56px rgba(38,40,41,.09);
    transform:rotate(-1deg);
}

.pfr-chart-heading{
    color:#8A8F92;
    font-size:12px;
    line-height:1.35;
    font-weight:800;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.pfr-hero-chart{
    width:100%;
    height:auto;
    margin-top:6px;
    overflow:visible;
}

.pfr-grid-lines line{
    stroke:#E7E5E1;
    stroke-width:1;
    stroke-dasharray:2 4;
}

.pfr-line{
    fill:none;
    stroke-width:3;
    stroke-linecap:round;
}

.pfr-line-blue{stroke:#7AAFD5}
.pfr-line-orange{stroke:#D38248}
.pfr-line-green{stroke:#82B5A8}

.pfr-dot{
    stroke:#fff;
    stroke-width:3;
}

.pfr-dot-blue{fill:#7AAFD5}
.pfr-dot-orange{fill:#D38248}
.pfr-dot-green{fill:#82B5A8}

.pfr-axis{
    fill:#91979B;
    font-size:11px;
    font-weight:600;
}

.pfr-chart-value{
    position:absolute;
    right:18px;
    padding:8px 14px;
    border-radius:14px;
    font-size:16px;
    font-weight:850;
    box-shadow:0 8px 22px rgba(35,37,38,.05);
}

.pfr-value-blue{top:74px;background:#DDECF6;color:#234965}
.pfr-value-orange{top:132px;background:#F7E4D1;color:#9D542C}
.pfr-value-green{top:190px;background:#E2F0EC;color:#35685B}

.pfr-chart-note{
    position:absolute;
    top:30px;
    right:86px;
    color:#6B7378;
    font-family:"Segoe Print","Bradley Hand",cursive;
    font-size:16px;
    line-height:1.25;
    transform:rotate(-5deg);
}

.pfr-tools-main{
    padding:30px 0 58px;
}

.pfr-tools-section-heading{
    margin-bottom:18px;
}

.pfr-tools-section-heading h2{
    max-width:980px;
    margin:12px 0 0;
    font-size:clamp(34px,4vw,52px);
    line-height:1.02;
    letter-spacing:-.05em;
}

.pfr-tools-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.pfr-tool-card{
    min-height:360px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 42%;
    gap:18px;
    padding:20px;
    border-radius:18px;
    color:inherit;
    text-decoration:none;
    border:1px solid rgba(35,37,38,.04);
    transition:transform .18s ease,box-shadow .18s ease;
}

.pfr-tool-card:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(35,37,38,.09);
}

.pfr-tool-blue{background:var(--pfr-blue)}
.pfr-tool-tan{background:var(--pfr-tan)}
.pfr-tool-green{background:var(--pfr-green)}

.pfr-tool-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.pfr-tool-meta{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:14px;
}

.pfr-tool-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    flex:0 0 46px;
    border-radius:12px;
    background:rgba(255,255,255,.55);
}

.pfr-tool-icon svg{
    width:23px;
    height:23px;
}

.pfr-tool-card h3{
    margin:0 0 10px;
    font-size:28px;
    line-height:1.04;
    letter-spacing:-.045em;
}

.pfr-tool-card p{
    margin:0 0 22px;
    color:#5D666D;
    font-size:16px;
    line-height:1.48;
}

.pfr-tool-link{
    margin-top:auto;
    font-size:15px;
    font-weight:800;
}

.pfr-tool-preview{
    align-self:stretch;
    min-width:0;
    padding:18px 16px;
    border-radius:14px;
    background:rgba(255,255,255,.84);
    box-shadow:0 8px 18px rgba(35,37,38,.05);
}

.pfr-preview-title{
    color:#4F585F;
    font-size:12px;
    line-height:1.35;
    font-weight:750;
}

.pfr-growth-preview{
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#4E92C7;
}

.pfr-growth-preview svg{
    width:100%;
    margin:8px 0 4px;
}

.pfr-growth-preview svg line{
    stroke:#D7DADC;
    stroke-width:1;
}

.pfr-growth-preview strong{
    color:#26313A;
    font-size:24px;
    letter-spacing:-.04em;
}

.pfr-growth-preview small{
    color:#6E767C;
    font-size:12px;
}

.pfr-preview-big{
    display:block;
    margin-top:8px;
    font-size:23px;
    letter-spacing:-.04em;
}

.pfr-bars{
    height:170px;
    margin-top:8px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap:18px;
}

.pfr-bar-wrap{
    width:48%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    color:#4D5357;
    text-align:center;
}

.pfr-bar{
    width:46px;
    border-radius:6px 6px 0 0;
}

.pfr-bar-one{
    height:68px;
    background:#C9B49A;
}

.pfr-bar-two{
    height:118px;
    background:#C8753E;
}

.pfr-bar-wrap small{
    font-size:10px;
}

.pfr-bar-wrap strong{
    font-size:12px;
}

.pfr-match-preview{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.pfr-match-blocks{
    display:grid;
    grid-template-columns:62px 1fr;
    gap:12px;
    align-items:center;
    margin-top:14px;
}

.pfr-match-stack{
    height:112px;
    display:flex;
    flex-direction:column-reverse;
    border-radius:8px;
    overflow:hidden;
}

.pfr-match-stack span{
    display:block;
}

.pfr-match-employee{
    height:68%;
    background:#6EAF9C;
}

.pfr-match-employer{
    height:32%;
    background:#A5CFC3;
}

.pfr-match-blocks div:last-child{
    display:grid;
    gap:2px;
}

.pfr-match-blocks small{
    color:#737B80;
    font-size:10px;
}

.pfr-match-blocks strong{
    margin-bottom:7px;
    font-size:12px;
}

.pfr-preview-total{
    padding-top:12px;
    margin-top:10px;
    border-top:1px solid #E3E5E5;
}

.pfr-preview-total small{
    display:block;
    color:#737B80;
    font-size:10px;
}

.pfr-preview-total strong{
    font-size:19px;
}

.pfr-tools-note{
    margin-top:38px;
    padding:30px 8px 8px;
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:56px;
    border-top:1px solid var(--pfr-line);
    background:#fff;
}

.pfr-tools-note h2{
    margin:10px 0 0;
    font-size:clamp(38px,4vw,54px);
    line-height:.98;
    letter-spacing:-.05em;
}

.pfr-tools-note-copy{
    padding-top:4px;
}

.pfr-tools-note-copy > p{
    max-width:700px;
    margin:0 0 22px;
    padding-left:24px;
    border-left:2px solid var(--pfr-copper);
    color:#687078;
    font-size:16px;
    line-height:1.55;
}

.pfr-tools-note-points{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.pfr-tools-note-points > div{
    min-width:0;
    display:grid;
    grid-template-columns:34px 1fr;
    column-gap:10px;
    align-items:start;
}

.pfr-note-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    grid-row:1 / span 2;
    border-radius:50%;
    background:#FAF2EA;
    color:var(--pfr-copper);
    font-weight:800;
}

.pfr-tools-note-points strong{
    font-size:13px;
    line-height:1.25;
}

.pfr-tools-note-points small{
    margin-top:4px;
    color:#7A8186;
    font-size:11px;
    line-height:1.35;
}

@media(max-width:1180px){
    .pfr-tools-hero-grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .pfr-tools-hero-visual{
        max-width:860px;
    }

    .pfr-tools-grid{
        grid-template-columns:1fr;
    }

    .pfr-tool-card{
        grid-template-columns:1fr 250px;
        min-height:280px;
    }
}

@media(max-width:760px){
    .pfr-tools-wrap{
        width:min(calc(100% - 32px),var(--pfr-max));
    }

    .pfr-tools-hero{
        padding:34px 0 28px;
    }

    .pfr-tools-hero h1{
        font-size:clamp(48px,15vw,68px);
    }

    .pfr-tools-hero-copy > p{
        font-size:18px;
    }

    .pfr-tools-primary-cta{
        width:100%;
        justify-content:center;
    }

    .pfr-tools-hero-visual{
        min-height:auto;
        padding:26px 18px 16px;
        transform:none;
    }

    .pfr-chart-note{
        display:none;
    }

    .pfr-chart-value{
        right:8px;
        font-size:13px;
        padding:6px 10px;
    }

    .pfr-value-blue{top:60px}
    .pfr-value-orange{top:112px}
    .pfr-value-green{top:164px}

    .pfr-tools-main{
        padding-top:24px;
    }

    .pfr-tools-section-heading h2{
        font-size:38px;
    }

    .pfr-tool-card{
        grid-template-columns:1fr;
        min-height:0;
    }

    .pfr-tool-preview{
        min-height:210px;
    }

    .pfr-tool-card h3{
        font-size:28px;
    }

    .pfr-tool-card p{
        font-size:17px;
    }

    .pfr-tools-note{
        grid-template-columns:1fr;
        gap:24px;
        padding-top:28px;
    }

    .pfr-tools-note-points{
        grid-template-columns:1fr;
    }
}

@media(prefers-reduced-motion:reduce){
    .pfr-tool-card,
    .pfr-tools-primary-cta{
        transition:none;
    }
}

/* V4 — Compact calculator-library page */
.pfr-tools-library .pfr-tools-library-hero{
    padding:42px 0 22px;
    border-bottom:1px solid var(--pfr-line);
}

.pfr-tools-library .pfr-tools-library-hero h1{
    margin:10px 0 10px;
    font-size:clamp(48px,6vw,74px);
    line-height:.96;
    letter-spacing:-.055em;
}

.pfr-tools-library .pfr-tools-library-hero p{
    max-width:760px;
    margin:0;
    color:var(--pfr-body);
    font-size:19px;
    line-height:1.5;
}

.pfr-tools-library .pfr-tools-main{
    padding:28px 0 56px;
}

@media(max-width:760px){
    .pfr-tools-library .pfr-tools-library-hero{
        padding:30px 0 18px;
    }

    .pfr-tools-library .pfr-tools-library-hero h1{
        font-size:48px;
    }

    .pfr-tools-library .pfr-tools-library-hero p{
        font-size:17px;
    }
}

/* Snapshot card: reuse the existing calculator-library card design. */
.pfr-tools-library .pfr-snapshot-preview{display:flex;flex-direction:column;justify-content:center;gap:16px}
.pfr-tools-library .pfr-snapshot-step{display:flex;align-items:center;gap:10px}
.pfr-tools-library .pfr-snapshot-step span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:var(--pfr-blue);color:#52697A;font-size:11px;font-weight:800}
.pfr-tools-library .pfr-snapshot-step strong{font-size:14px;line-height:1.3}
.pfr-tools-library .pfr-snapshot-preview>small{font-size:12px;color:var(--pfr-body);line-height:1.4}

/* Tool identity: Household Retirement Snapshot. */
.pfr-tools-library .pfr-tool-copper{background:#62664D}
.pfr-tools-library .pfr-tool-copper .pfr-snapshot-step span{background:#62664D;color:#B56F45}

/* Keep the established card presentation for the expanded library. */
.pfr-tools-library .pfr-tool-debt .pfr-snapshot-step span{background:#465688;color:#52697A}
.pfr-tools-library .pfr-tool-emergency .pfr-snapshot-step span{background:#246966;color:#52697A}
.pfr-tools-library .pfr-tool-mortgage .pfr-snapshot-step span{background:#EAD7B8;color:#52697A}
.pfr-tools-library .pfr-tool-monthly .pfr-snapshot-step span{background:#9F3D4B;color:#52697A}

/* Urban tool identities: white text on deep tones, charcoal on gold. */
.pfr-tools-library .pfr-tool-card,.pfr-tools-library .pfr-tool-card :is(h3,p,.pfr-tool-meta,.pfr-tool-meta span){color:#fff}
.pfr-tools-library .pfr-tool-mortgage,.pfr-tools-library .pfr-tool-mortgage :is(h3,p,.pfr-tool-meta,.pfr-tool-meta span){color:#20272D}
.pfr-tools-library .pfr-tool-icon{background:rgba(255,255,255,.16);color:inherit}
.pfr-tools-library .pfr-tool-card .pfr-snapshot-step span{background:#20272D;color:#fff}
.pfr-tools-library .pfr-tool-card .pfr-tool-link{color:inherit}


/* V9 — accessibility contrast correction for light preview panels.
   Outer card colors/layout remain unchanged; calculator functionality is untouched. */
.pfr-tools-library .pfr-tool-card .pfr-tool-preview .pfr-preview-title,
.pfr-tools-library .pfr-tool-card .pfr-tool-preview .pfr-preview-big,
.pfr-tools-library .pfr-tool-card .pfr-tool-preview .pfr-bar-wrap,
.pfr-tools-library .pfr-tool-card .pfr-tool-preview .pfr-bar-wrap strong,
.pfr-tools-library .pfr-tool-card .pfr-tool-preview .pfr-match-blocks strong,
.pfr-tools-library .pfr-tool-card .pfr-tool-preview .pfr-preview-total strong,
.pfr-tools-library .pfr-tool-card .pfr-tool-preview .pfr-snapshot-step strong {
    color:#232526;
}

.pfr-tools-library .pfr-tool-card .pfr-tool-preview small,
.pfr-tools-library .pfr-tool-card .pfr-tool-preview .pfr-snapshot-preview > small {
    color:#5F6872;
}

/* Number badges intentionally remain dark with white numerals. */
.pfr-tools-library .pfr-tool-card .pfr-snapshot-step span {
    background:#20272D;
    color:#FFFFFF;
}


/* PFR complementary palette system — Tools 10.0.0 */
.pfr-tools-library{
  --pfr-growth-main:#355874;--pfr-growth-light:#E7EEF3;--pfr-growth-accent:#4F96C8;--pfr-growth-deep:#27465E;
  --pfr-contribution-main:#A84F08;--pfr-contribution-light:#F3E3D8;--pfr-contribution-accent:#D17A3F;--pfr-contribution-deep:#7A3908;
  --pfr-match-main:#3D4A43;--pfr-match-light:#E4EAE7;--pfr-match-accent:#70B19D;--pfr-match-deep:#2E3933;
  --pfr-household-main:#62664D;--pfr-household-light:#ECECE3;--pfr-household-accent:#B88A63;--pfr-household-deep:#494D39;
  --pfr-debt-main:#465688;--pfr-debt-light:#E8EAF3;--pfr-debt-accent:#7885C4;--pfr-debt-deep:#343F68;
  --pfr-emergency-main:#246966;--pfr-emergency-light:#E2EFED;--pfr-emergency-accent:#4CA49F;--pfr-emergency-deep:#194E4C;
  --pfr-mortgage-main:#F0C938;--pfr-mortgage-light:#F7F0D7;--pfr-mortgage-accent:#A98408;--pfr-mortgage-deep:#5C4B0A;
  --pfr-monthly-main:#9F3D4B;--pfr-monthly-light:#F2E4E7;--pfr-monthly-accent:#CC7380;--pfr-monthly-deep:#762E39;
}
.pfr-tools-library .pfr-tool-blue{background:var(--pfr-growth-main)}
.pfr-tools-library .pfr-tool-tan{background:var(--pfr-contribution-main)}
.pfr-tools-library .pfr-tool-green{background:var(--pfr-match-main)}
.pfr-tools-library .pfr-tool-copper{background:var(--pfr-household-main)}
.pfr-tools-library .pfr-tool-debt{background:var(--pfr-debt-main)}
.pfr-tools-library .pfr-tool-emergency{background:var(--pfr-emergency-main)}
.pfr-tools-library .pfr-tool-mortgage{background:var(--pfr-mortgage-main)}
.pfr-tools-library .pfr-tool-monthly{background:var(--pfr-monthly-main)}
/* Tool-related number badges: deep same-family tone + white numerals. */
.pfr-tools-library .pfr-tool-blue .pfr-snapshot-step span{background:var(--pfr-growth-deep);color:#fff}
.pfr-tools-library .pfr-tool-tan .pfr-snapshot-step span{background:var(--pfr-contribution-deep);color:#fff}
.pfr-tools-library .pfr-tool-green .pfr-snapshot-step span{background:var(--pfr-match-deep);color:#fff}
.pfr-tools-library .pfr-tool-copper .pfr-snapshot-step span{background:var(--pfr-household-deep);color:#fff}
.pfr-tools-library .pfr-tool-debt .pfr-snapshot-step span{background:var(--pfr-debt-deep);color:#fff}
.pfr-tools-library .pfr-tool-emergency .pfr-snapshot-step span{background:var(--pfr-emergency-deep);color:#fff}
.pfr-tools-library .pfr-tool-mortgage .pfr-snapshot-step span{background:var(--pfr-mortgage-deep);color:#fff}
.pfr-tools-library .pfr-tool-monthly .pfr-snapshot-step span{background:var(--pfr-monthly-deep);color:#fff}
