/* Family planning utility. Uses the program palette already defined by the site. */
.fp-planner{padding-block:96px 40px}
.fp-planner [hidden]{display:none!important}
.fp-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,290px);gap:56px;align-items:center}
.fp-intro h2{font:600 clamp(40px,5vw,70px)/1.05 var(--display,Oswald,sans-serif);letter-spacing:-.02em;margin:12px 0 20px}
.fp-lede{max-width:62ch;font-size:18px;line-height:1.7;color:#e7e7e7;margin:0}
.fp-progress-card{border:1px solid var(--line,#ffffff30);border-radius:12px;padding:24px;background:#ffffff05}
.fp-progress-label{font:600 11px/1.4 Inter,Arial,sans-serif;letter-spacing:.13em;color:#d7d5d5;margin:0 0 12px}
.fp-progress-count{display:flex;align-items:baseline;gap:12px;margin:0 0 16px}
.fp-progress-count strong{font:600 50px/1 var(--display,Oswald,sans-serif);color:#fff}
.fp-progress-count span{font-size:14px;color:#e7e7e7}
.fp-progress-card progress{appearance:none;width:100%;height:5px;border:0;border-radius:10px;overflow:hidden;background:#ffffff24;display:block}
.fp-progress-card progress::-webkit-progress-bar{background:#ffffff24;border-radius:10px}
.fp-progress-card progress::-webkit-progress-value{background:#fff;border-radius:10px}
.fp-progress-card progress::-moz-progress-bar{background:#fff;border-radius:10px}
.fp-storage{font-size:12px;line-height:1.5;color:#d7d5d5;margin:12px 0 0}
.fp-note{max-width:84ch;color:#d7d5d5;font-size:13px;line-height:1.7;margin:28px 0}
.fp-steps{list-style:none;padding:0;margin:32px 0 0;border-top:1px solid var(--line,#ffffff30)}
.fp-step{display:grid;grid-template-columns:48px minmax(0,1fr) 90px;gap:24px;padding:32px 0;border-bottom:1px solid var(--line,#ffffff30);align-items:start}
.fp-number{font:500 25px/1.2 var(--display,Oswald,sans-serif);color:#d7d5d5;padding-top:3px}
.fp-step-copy h3{font:500 clamp(23px,2.2vw,30px)/1.2 var(--display,Oswald,sans-serif);margin:0 0 12px;color:#fff}
.fp-step-copy p{font-size:16px;line-height:1.75;color:#e7e7e7;max-width:70ch;margin:0 0 18px}
.fp-resource{display:inline-block;font-size:13px;font-weight:650;line-height:1.5;color:#fff;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:5px}
.fp-resource:hover{text-decoration-thickness:2px}
.fp-resource:focus-visible,.fp-actions button:focus-visible{outline:2px solid #fff;outline-offset:5px}
.fp-check{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:64px;min-height:64px;padding:2px 6px;cursor:pointer;color:#e7e7e7}
.fp-check input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
.fp-check-icon{display:grid;place-items:center;width:29px;height:29px;border:1px solid #b6b5b5;border-radius:50%;transition:background .15s,color .15s}
.fp-check-icon svg{width:18px;height:18px;opacity:0}
.fp-check input:checked+.fp-check-icon{color:#100e0f;background:#fff;border-color:#fff}
.fp-check input:checked+.fp-check-icon svg{opacity:1}
.fp-check input:focus-visible+.fp-check-icon{outline:2px solid #fff;outline-offset:5px}
.fp-check-word{font:600 11px/1.4 Inter,Arial,sans-serif}
.fp-step.is-reviewed .fp-number{color:#fff}
.fp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 0}
.fp-links,.fp-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.fp-actions button{font:600 12px/1.4 Inter,Arial,sans-serif;cursor:pointer;min-height:44px;padding:12px 16px;border-radius:4px}
.fp-print{border:1px solid #fff;background:#fff;color:#100e0f}
.fp-reset{border:1px solid var(--line,#ffffff30);background:transparent;color:#eaeaea}
.fp-reset:disabled{opacity:.48;cursor:default}
.fp-status{font-size:13px;line-height:1.6;min-height:1.6em;color:#e7e7e7;margin:18px 0 0}
.fp-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:700px){.fp-planner{padding-block:64px 24px}.fp-intro{grid-template-columns:1fr;gap:26px}.fp-progress-card{padding:20px}.fp-progress-count strong{font-size:40px}.fp-step{grid-template-columns:28px minmax(0,1fr) 54px;gap:12px;padding:26px 0}.fp-number{font-size:21px}.fp-check{min-width:44px;padding-inline:0}.fp-step-copy h3{font-size:24px}.fp-step-copy p{font-size:15px}.fp-toolbar{align-items:flex-start;flex-direction:column;gap:14px}.fp-links,.fp-actions{gap:16px}.fp-lede{font-size:16px}.fp-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){.fp-check-icon{transition:none}}
@media print{.fp-print-mode body{background:#fff!important;color:#111!important}.fp-print-mode body>*:not(main),.fp-print-mode #main>*:not(.fp-planner){display:none!important}.fp-print-mode #main{margin:0!important;padding:0!important}.fp-print-mode .fp-planner{max-width:none!important;width:auto!important;padding:0!important;margin:0!important;color:#111!important}.fp-print-mode .fp-planner *{color:#111!important;text-shadow:none!important}.fp-print-mode .fp-intro{grid-template-columns:1fr;gap:10px}.fp-print-mode .fp-intro h2{font-size:30px}.fp-print-mode .fp-progress-card,.fp-print-mode .fp-actions,.fp-print-mode .fp-status{display:none!important}.fp-print-mode .fp-lede,.fp-print-mode .fp-step-copy p{font-size:11pt}.fp-print-mode .fp-note{font-size:9pt;margin:12px 0}.fp-print-mode .fp-step{break-inside:avoid;padding:18px 0;border-color:#aaa;grid-template-columns:30px minmax(0,1fr) 60px}.fp-print-mode .fp-step-copy h3{font-size:20px}.fp-print-mode .fp-steps{margin-top:18px;border-color:#aaa}.fp-print-mode .fp-check-icon{border-color:#111}.fp-print-mode .fp-check input:checked+.fp-check-icon{background:#fff}.fp-print-mode .fp-resource{font-size:10pt}.fp-print-mode .fp-toolbar{padding-top:12px}}
