.nfpc{--ink:#233c35;--muted:#687b72;--gold:#ad874c;--cream:#f9f7f1;--line:#e8e5da;box-sizing:border-box;max-width:860px;margin:36px auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 70px rgba(27,52,40,.12);overflow:hidden;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.nfpc *{box-sizing:border-box}.nfpc-top{display:flex;align-items:center;gap:22px;background:linear-gradient(115deg,#193b31,#315646);color:#fff;padding:30px 48px}.nfpc-mark{width:66px;height:66px;border:1px solid #adbbac;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:27px;letter-spacing:-6px;padding-right:7px;flex:none}.nfpc-mark span{font-size:13px;letter-spacing:0;color:#d8bd7c;vertical-align:middle}.nfpc-top small{font-size:11px;letter-spacing:.19em;color:#d6d6be;font-weight:700}.nfpc-top h1{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:4px 0 0;color:#fff}.nfpc-body{padding:38px 54px 50px}.nfpc-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:12px;letter-spacing:.12em;font-weight:700}.nfpc-meta strong{font-size:16px;color:var(--ink);letter-spacing:0}.nfpc-track{height:5px;background:#eaece7;border-radius:10px;margin:13px 0 46px}.nfpc-track span{display:block;height:100%;background:var(--gold);border-radius:10px}.nfpc-eyebrow{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.15em;margin:0 0 8px}.nfpc h2{font:normal 42px/1.15 Georgia,serif;margin:0 0 12px;color:var(--ink)}.nfpc-intro{color:var(--muted);margin:0 0 36px}.nfpc-question{display:block;margin:0 0 26px}.nfpc-question>span{display:block;font-weight:650;font-size:16px;margin:0 0 10px;line-height:1.4}.nfpc textarea{width:100%;min-height:100px;border:1px solid #d7dfd8;border-radius:12px;padding:15px;color:var(--ink);font:inherit;background:#fcfdfb;resize:vertical}.nfpc textarea:focus,.nfpc select:focus{outline:3px solid #b7d6bd;outline-offset:1px}.nfpc-privacy{border:1px solid #dedfd6;background:var(--cream);border-radius:16px;padding:22px 24px;margin:35px 0 26px}.nfpc-privacy legend{font:normal 23px Georgia,serif;padding:0 8px;color:var(--ink)}.nfpc-privacy label{display:flex;align-items:center;gap:12px;margin:10px 0;cursor:pointer}.nfpc-privacy input{accent-color:#2a5943;width:17px;height:17px}.nfpc-privacy p{margin:4px 0 14px}.nfpc-privacy small{display:block;color:var(--muted);line-height:1.5;margin-top:16px}.nfpc-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.nfpc-actions button,.nfpc-login input[type=submit]{border:0;border-radius:50px;background:#285540;color:white;padding:14px 26px;font:700 14px inherit;cursor:pointer;margin-left:auto}.nfpc-actions button:hover,.nfpc-login input[type=submit]:hover{background:#183f2d}.nfpc-back{color:var(--ink);text-decoration:none;font-weight:650}.nfpc-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding-top:28px;margin-top:34px;color:var(--muted);font-size:12px}.nfpc-success{border:1px solid #b5d0bb;border-radius:9px;background:#edf7ee;padding:12px 16px;color:#29563a}.nfpc-shared{margin-top:32px;border-top:1px solid var(--line);padding-top:24px}.nfpc-shared summary{cursor:pointer;font-weight:700}.nfpc-answer{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.nfpc-answer h4{font:normal 22px Georgia,serif;margin:8px 0}.nfpc-answer p{line-height:1.5}.nfpc-login{padding:32px}.nfpc-login h2{font-size:30px}@media(max-width:650px){.nfpc{margin:12px;border-radius:16px}.nfpc-top{padding:24px;gap:14px}.nfpc-top h1{font-size:24px}.nfpc-mark{width:50px;height:50px;font-size:21px}.nfpc-body{padding:30px 22px}.nfpc h2{font-size:34px}.nfpc-footer{display:block}.nfpc-footer span{display:block;margin:6px 0}}
.nfpc-consent .nfpc-agreement-text{background:#faf9f5;border:1px solid #e6e3d9;border-radius:16px;padding:20px 24px;margin:24px 0;max-height:320px;overflow:auto;line-height:1.6}.nfpc-consent .nfpc-agreement-text p{margin:0 0 15px}.nfpc-consent .nfpc-agreement-text p:last-child{margin-bottom:0}.nfpc-check{display:flex;gap:12px;align-items:flex-start;font-weight:650;line-height:1.5;margin:20px 0}.nfpc-check input{width:20px;height:20px;flex:none;accent-color:#285540;margin-top:3px}.nfpc-consent input[type=text]{display:block;width:100%;border:1px solid #d7dfd8;border-radius:12px;padding:15px;font:inherit}.nfpc-small{font-size:12px;color:#687b72;margin-top:24px}
.nfpc-consent{position:fixed;z-index:999999;top:50%;left:50%;transform:translate(-50%,-50%);width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;margin:0;box-shadow:0 0 0 100vmax rgba(12,29,23,.72),0 30px 85px rgba(10,28,20,.35)}@media(max-width:650px){.nfpc-consent{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}}
.nfpc input[type=date]{display:block;width:min(100%,350px);border:1px solid #d7dfd8;border-radius:12px;padding:14px;color:var(--ink);font:inherit;background:#fcfdfb}.nfpc input[type=date]:focus{outline:3px solid #b7d6bd;outline-offset:1px}.nfpc .nfpc-age{display:inline-block;margin:9px 0 0;color:#285540;font-weight:700}.nfpc .nfpc-legacy{display:block;color:#71552c;margin-top:8px}
/* Scoped mobile layout and independent section navigation. */
.nfpc,.nfpc *{min-width:0;overflow-wrap:break-word}.nfpc{width:100%;max-width:860px}.nfpc-top>div:last-child{min-width:0}.nfpc-mark{letter-spacing:-.08em;padding:0 4px 0 0;white-space:nowrap}.nfpc-meta span{max-width:80%;line-height:1.4}.nfpc-meta strong{white-space:nowrap;flex:none}.nfpc .nfpc-privacy{border:1px solid #dedfd6;background:var(--cream);border-radius:16px;padding:22px 24px;margin:36px 0 26px;min-width:0}.nfpc .nfpc-privacy h3{font:normal 23px/1.25 Georgia,serif;color:var(--ink);margin:0 0 19px;padding:0;border:0}.nfpc .nfpc-privacy label{min-width:0;line-height:1.4}.nfpc .nfpc-privacy input[type=radio]{flex:0 0 18px;margin:0}.nfpc .nfpc-privacy label span{min-width:0}.nfpc .nfpc-actions button{font-family:inherit;font-size:14px;font-weight:700;line-height:1.25;white-space:normal;text-align:center}.nfpc .nfpc-top h1{line-height:1.2;overflow-wrap:normal}.nfpc .nfpc-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nfpc .nfpc-section-card{display:flex;flex-direction:column;gap:10px;min-height:140px;padding:19px;border:1px solid var(--line);border-radius:16px;color:var(--ink);text-decoration:none;background:#fff;box-shadow:0 4px 16px rgba(20,50,35,.04);transition:border-color .15s,transform .15s}.nfpc .nfpc-section-card:hover,.nfpc .nfpc-section-card:focus-visible{border-color:var(--gold);transform:translateY(-2px)}.nfpc .nfpc-section-number{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--gold)}.nfpc .nfpc-section-title{font:normal 21px/1.2 Georgia,serif;flex:1}.nfpc .nfpc-section-status{font-size:12px;font-weight:750;color:var(--muted)}.nfpc .nfpc-section-status.is-saved{color:#285540}.nfpc .nfpc-list-heading{font:normal 27px Georgia,serif;margin:42px 0 18px;color:var(--ink)}.nfpc .nfpc-progress-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#f9f7f1;border-radius:18px;padding:20px 24px}.nfpc .nfpc-progress-summary strong{font:normal 44px Georgia,serif}.nfpc .nfpc-progress-summary strong span{font-size:24px;color:var(--muted)}.nfpc .nfpc-progress-summary p{margin:1px 0;color:var(--muted);font-size:13px}.nfpc .nfpc-progress-label{font-size:14px;font-weight:750;color:#285540;white-space:nowrap}.nfpc-dashboard .nfpc-track{margin:18px 0 24px}.nfpc .nfpc-primary-link{display:inline-block;padding:13px 22px;border-radius:40px;background:#285540;color:#fff;text-decoration:none;font-weight:700}.nfpc .nfpc-dashboard-note{font-size:13px;color:var(--muted);margin:26px 0 0;line-height:1.5}
@media(max-width:650px){.nfpc{margin:12px auto;width:100%;border-radius:16px}.nfpc-top{padding:22px 20px;gap:13px}.nfpc-mark{width:46px;height:46px;font-size:21px}.nfpc-top small{font-size:9px;letter-spacing:.08em;line-height:1.4;display:block}.nfpc .nfpc-top h1{font-size:24px;margin:5px 0 0}.nfpc-body{padding:26px 20px 34px}.nfpc h2{font-size:32px;line-height:1.18}.nfpc .nfpc-meta{font-size:10px;letter-spacing:.07em}.nfpc .nfpc-meta strong{font-size:14px}.nfpc .nfpc-track{margin-bottom:30px}.nfpc .nfpc-privacy{padding:20px 18px}.nfpc .nfpc-privacy h3{font-size:21px}.nfpc .nfpc-actions{flex-wrap:wrap;gap:12px}.nfpc .nfpc-actions button{max-width:100%;padding:13px 18px}.nfpc .nfpc-section-grid{grid-template-columns:1fr}.nfpc .nfpc-section-card{min-height:0;padding:17px;gap:7px}.nfpc .nfpc-section-title{font-size:19px}.nfpc .nfpc-footer{margin-top:30px}.nfpc .nfpc-progress-summary{padding:17px}.nfpc .nfpc-progress-summary strong{font-size:36px}.nfpc .nfpc-progress-label{font-size:12px}}
.nfpc .nfpc-logout{color:#356b50;text-decoration:underline;text-underline-offset:3px;font-weight:700}.nfpc .nfpc-account{margin-top:30px;border-top:1px solid var(--line);padding-top:20px;font-size:13px;color:var(--muted)}.nfpc .nfpc-couple{border:1px solid var(--line);border-radius:16px;padding:20px;margin:20px 0}.nfpc .nfpc-couple summary{font:normal 23px Georgia,serif;cursor:pointer}.nfpc .nfpc-profile{padding:15px 0;border-top:1px solid var(--line);margin-top:15px}.nfpc .nfpc-profile h3{font:normal 23px Georgia,serif;margin:0 0 5px}.nfpc .nfpc-profile p{line-height:1.5}.nfpc .nfpc-footer .nfpc-logout{color:#356b50}
.nfpc .nfpc-status{border:1px solid var(--line);border-radius:13px;background:var(--cream);padding:15px 18px;margin:18px 0}.nfpc .nfpc-status summary{font-family:inherit;font-size:15px;font-weight:750;cursor:pointer}.nfpc .nfpc-status ul{list-style:none;margin:13px 0;padding:0}.nfpc .nfpc-status li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:9px 0;font-size:13px;line-height:1.4}.nfpc .nfpc-status li span{flex:1}.nfpc .nfpc-status li strong{white-space:nowrap;font-size:12px}.nfpc .nfpc-status .is-filled{color:#285540}.nfpc .nfpc-status .is-empty{color:var(--muted);font-weight:500}.nfpc .nfpc-status p{font-size:12px;line-height:1.5;color:var(--muted);margin:12px 0 0}@media(max-width:650px){.nfpc .nfpc-status{padding:13px}.nfpc .nfpc-status li{font-size:12px;gap:7px}.nfpc .nfpc-status li strong{font-size:11px}}
