/* Get Preapproved page (extends site.css + roadmap.css) */
.pa-hero-msg{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.3vw,30px);line-height:1.25;color:var(--powder-300);margin:4px 0 18px;letter-spacing:-.005em}
.pa-hero .lede{max-width:34em}
.cta-stack{display:inline-flex;flex-direction:column;gap:8px;align-items:flex-start}
.cta-stack .btn svg{width:16px;height:16px}
.apply-note{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);font-weight:600}
.apply-note svg{width:13px;height:13px;flex-shrink:0}
.apply-note.on-dark{color:rgba(255,255,255,.75)}
.pa-hero .hero-actions{align-items:flex-start}
.pa-mini li{justify-content:flex-start}
.pa-mini .mc{margin-left:auto;font-size:12px;font-weight:800;color:var(--navy-700)}
.rm-card .link-arrow{display:inline-block;margin:4px 0 6px}
.pa-nav .chip .cn{font-size:10.5px}

.pa-section{padding-top:92px;padding-bottom:92px;scroll-margin-top:140px}
.pa-tint{background:linear-gradient(180deg,var(--powder-100),#fff 85%)}
.pa-section .lead{max-width:46em}
.pa-src{margin-top:18px}
.pa-src a,.fine a{color:var(--navy-700)}

/* compare table */
.pa-compare{margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:8px}
.pa-compare table{width:100%;border-collapse:collapse;font-size:15.5px}
.pa-compare th,.pa-compare td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.pa-compare thead th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800}
.pa-compare thead th:nth-child(3){color:var(--navy-800)}
.pa-compare tbody th{font-weight:700;color:var(--navy-800);width:24%}
.pa-compare td:nth-child(3){background:var(--powder-100);color:var(--navy-800);font-weight:600}
.pa-compare tr.hl th,.pa-compare tr.hl td{border-bottom:0;font-weight:800}
.pa-compare tr:last-child td:nth-child(3){border-radius:0 0 12px 0}
.pa-quote{margin:28px 0 0;padding:24px 28px;border-left:4px solid var(--powder-400);background:#fff;border-radius:0 var(--r-md) var(--r-md) 0;max-width:54em}
.pa-quote p{font-family:var(--serif);font-size:20px;line-height:1.45;color:var(--navy-800);margin:0 0 10px}
.pa-quote cite{font-style:normal;font-size:13.5px;color:var(--muted)}
.pa-quote cite a{color:var(--navy-700)}

/* 4 C's */
.pa-4c{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.pa-4c article{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 22px;transition:transform .35s var(--ease),box-shadow .35s}
.pa-4c article:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.pa-4c .n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--navy-800);color:var(--powder-400);font-weight:800;font-size:14px;margin-bottom:16px}
.pa-4c h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy-800);margin:0 0 8px}
.pa-4c p{margin:0;font-size:15px;color:#33445c;line-height:1.55}

/* docs */
.pa-docs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.pa-docs article,.pa-funds article{border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;background:#fff}
.pa-docs h3,.pa-funds h3{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--navy-800);margin:0 0 12px}
.pa-docs ul{margin:0;padding:0;list-style:none}
.pa-docs li{position:relative;padding:8px 0 8px 26px;border-top:1px solid var(--line);font-size:15px;color:#33445c}
.pa-docs li:first-child{border-top:0}
.pa-docs li::before{content:"";position:absolute;left:2px;top:14px;width:12px;height:12px;border-radius:4px;border:2px solid var(--powder-500)}
.pa-callout{margin:26px 0 0;background:var(--navy-800);color:#fff;border-radius:var(--r-md);padding:20px 24px;font-size:15.5px;line-height:1.6;max-width:62em}
.pa-callout strong{color:var(--powder-400)}

/* credit */
.pa-two{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:30px;align-items:start}
.pa-two p{color:#2c3c52;margin:0 0 14px}
.pa-two a{color:var(--navy-700)}
.pa-dti{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-md)}
.pa-dti h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy-800);margin:0 0 18px}
.dti-formula{display:grid;grid-template-columns:1fr auto 1fr auto auto;align-items:center;gap:10px;margin-bottom:18px}
.dti-formula span{background:var(--powder-100);border-radius:12px;padding:12px;font-weight:700;color:var(--navy-800);font-size:14px;line-height:1.3;text-align:center}
.dti-formula small{display:block;font-weight:500;font-size:11.5px;color:var(--muted);margin-top:3px}
.dti-formula b{font-size:22px;color:var(--navy-700)}
.dti-formula .res{background:var(--navy-800);color:#fff;font-family:var(--serif);font-size:20px;font-weight:500;padding:14px 16px}
.dti-ex{font-size:15px;color:#22324a;background:#f4fbf7;border:1px solid #d4eadc;border-radius:12px;padding:12px 14px}

/* funds */
.pa-funds{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.pa-funds p{margin:0;font-size:15px;color:#33445c;line-height:1.55}
.pa-funds a{color:var(--navy-700);font-weight:600}

/* payment */
.pa-pay{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:18px;align-items:start}
.piti{margin:24px 0 0}
.piti div{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.piti dt{font-weight:800;color:var(--navy-800);font-size:14px;background:var(--powder-200);border-radius:10px;text-align:center;padding:8px 4px;align-self:start}
.piti dd{margin:0;font-size:15px;color:#33445c;line-height:1.55}
.piti a{color:var(--navy-700);font-weight:600}
.pa-est{position:relative;top:auto}
.pa-est .tag-hyp{top:22px;right:22px}
.est-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.est-row label{display:block}
.inp.sel{padding:0 8px}
.inp select{flex:1;border:0;outline:0;background:none;font:inherit;font-size:16px;padding:12px 4px;color:var(--navy-800);font-weight:700}
.pa-est-out{margin:20px 0 14px}
.pa-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:var(--powder-400);color:var(--navy-800);border-radius:14px;padding:14px 18px}
.pa-total span{font-size:13px;font-weight:700}
.pa-total b{font-family:var(--serif);font-weight:500;font-size:34px;font-variant-numeric:tabular-nums}
.pa-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;margin:14px 0 12px;background:rgba(255,255,255,.12)}
.pa-bar i{display:block;height:100%;transition:width .5s var(--ease)}
[data-seg=pi],.k-pi{background:#fff}[data-seg=tax],.k-tax{background:var(--powder-400)}[data-seg=ins],.k-ins{background:var(--powder-500)}[data-seg=mi],.k-mi{background:#6d8fb8}[data-seg=hoa],.k-hoa{background:#3d5f8c}
.pa-legend{list-style:none;margin:0;padding:0}
.pa-legend li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px;color:rgba(255,255,255,.85);border-top:1px solid rgba(255,255,255,.1)}
.pa-legend li:first-child{border-top:0}
.pa-legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.pa-legend b{margin-left:auto;color:#fff;font-variant-numeric:tabular-nums}
.pa-loan{font-size:13px;color:var(--powder-300);margin:10px 0 0}
.pa-loan b{color:#fff}

/* letter */
.pa-means{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.pa-means > div{border-radius:var(--r-lg);padding:28px;border:1px solid var(--line)}
.pa-means h3{margin:0 0 14px;font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.pa-means ul{margin:0;padding:0;list-style:none}
.pa-means li{position:relative;padding:9px 0 9px 30px;font-size:15.5px;color:#22324a;border-top:1px solid rgba(19,43,82,.07)}
.pa-means li:first-child{border-top:0}
.pa-means li::before{position:absolute;left:0;top:9px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}
.pa-means .yes{background:#f4fbf7;border-color:#d4eadc}.pa-means .yes h3{color:#1f6b45}
.pa-means .yes li::before{content:"\2713";background:#1f6b45;color:#fff}
.pa-means .no{background:#fff8f6;border-color:#f3dcd6}.pa-means .no h3{color:#8a2d2d}
.pa-means .no li::before{content:"\2715";background:#8a2d2d;color:#fff}

/* timing */
.pa-time{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.pa-time article{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}
.pa-time .big{display:block;font-family:var(--serif);font-size:44px;line-height:1;color:var(--navy-800);margin-bottom:10px}
.pa-time h3{font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-600);margin:0 0 10px}
.pa-time p{margin:0;font-size:15px;color:#33445c;line-height:1.55}

/* updates */
.pa-updates{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pa-updates li{border:1px solid var(--line);border-radius:var(--r-md);padding:20px;background:#fff;border-top:4px solid var(--powder-400)}
.pa-updates b{display:block;color:var(--navy-800);font-size:16px;margin-bottom:6px}
.pa-updates span{font-size:14px;color:#33445c;line-height:1.5}

/* mistakes */
.pa-mistakes{counter-reset:m;list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.pa-mistakes li{counter-increment:m;position:relative;padding:16px 0 16px 56px;border-top:1px solid var(--line);font-size:15.5px;color:#33445c;line-height:1.55}
.pa-mistakes li::before{content:counter(m,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:var(--serif);font-size:24px;color:var(--powder-500)}
.pa-mistakes b{color:var(--navy-800)}

/* checklist */
.pa-check{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
.pa-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.pa-cat{margin:0}
.pa-cat legend{display:flex;justify-content:space-between;align-items:center}
.pa-cat-count{font-size:12px;letter-spacing:0;background:#fff;color:var(--navy-800);border-radius:999px;padding:3px 10px}
.pa-cat.done{background:#e6f3ec}
.pa-cat.done .pa-cat-count{background:#1f6b45;color:#fff}
.pa-ready{position:sticky;top:160px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-lg)}
.pa-ready-top{display:flex;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.pa-ready h3{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.pa-level{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--navy-800);line-height:1.2}
.pa-ready-msg{font-size:14.5px;color:#33445c;margin:14px 0 10px}
.pa-ready-cats{list-style:none;margin:0 0 14px;padding:0}
.pa-ready-cats li{display:flex;justify-content:space-between;font-size:13.5px;padding:5px 0;color:#33445c}
.pa-ready-cats li b{color:var(--navy-800)}
.pa-ready-cats li.ok b{color:#1f6b45}
.pa-disclaim{font-size:13px;color:#33445c;background:#fff4dc;border:1px solid #f1dca8;border-radius:12px;padding:12px 14px;margin:0 0 18px;line-height:1.5}
.pa-ready .cta-stack,.pa-ready .btn{width:100%;justify-content:center}

/* next steps */
.pa-steps{border:0;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;min-width:0}
.pa-step{position:relative;cursor:pointer;display:block}
.pa-step input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pa-step-c{display:flex;flex-direction:column;gap:6px;height:100%;padding:24px 24px 24px 76px;border:2px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:border-color .25s,box-shadow .25s,transform .25s var(--ease);position:relative}
.pa-step-c .num{position:absolute;left:22px;top:22px;width:38px;height:38px;border-radius:50%;border:2px solid var(--powder-400);display:grid;place-items:center;font-weight:800;color:var(--navy-800);transition:background .25s,color .25s}
.pa-step-c b{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--navy-800);line-height:1.25}
.pa-step-c > span:last-child{font-size:14.5px;color:var(--muted)}
.pa-step:hover .pa-step-c{border-color:var(--powder-400);transform:translateY(-3px)}
.pa-step input:checked + .pa-step-c{border-color:var(--navy-800);box-shadow:var(--shadow-md);background:linear-gradient(180deg,#fff,var(--powder-100))}
.pa-step input:checked + .pa-step-c .num{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.pa-step input:focus-visible + .pa-step-c{outline:3px solid var(--powder-500);outline-offset:3px}
.pa-panels{margin-top:20px}
.pa-panel-hint{margin:0;padding:22px;border:2px dashed var(--powder-300);border-radius:var(--r-lg);text-align:center;color:var(--muted);font-size:15px}
.pa-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow-md);animation:panelIn .45s var(--ease)}
.pa-panel h3{font-family:var(--serif);font-weight:500;font-size:28px;color:var(--navy-800);margin:0 0 20px}
.pa-panel-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start}
.pa-ticks{list-style:none;margin:0;padding:0}
.pa-ticks li{position:relative;padding:10px 0 10px 32px;border-top:1px solid var(--line);font-size:15.5px;color:#22324a}
.pa-ticks li:first-child{border-top:0}
.pa-ticks li::before{content:"\2713";position:absolute;left:0;top:10px;width:21px;height:21px;border-radius:7px;background:var(--navy-800);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.pa-ticks.q li::before{content:"?";background:var(--powder-400);color:var(--navy-800)}
.pa-plan{list-style:none;margin:0;padding:0;counter-reset:p}
.pa-plan li{position:relative;padding:12px 0 12px 46px;border-left:2px solid var(--powder-300);margin-left:14px;padding-left:30px}
.pa-plan li::before{content:"";position:absolute;left:-8px;top:16px;width:14px;height:14px;border-radius:50%;background:var(--navy-800);border:3px solid var(--powder-200)}
.pa-plan b{display:block;color:var(--navy-800);font-size:16px;margin-bottom:4px}
.pa-plan span{font-size:14.5px;color:#33445c;line-height:1.55}
.pa-panel-cta{background:var(--powder-100);border-radius:var(--r-md);padding:24px}
.pa-panel-cta p{margin:0 0 16px;font-size:15px;color:#22324a;line-height:1.55}
.pa-panel-cta p.alt{margin:14px 0 0;font-size:14px}
.pa-panel-cta a:not(.btn){color:var(--navy-700);font-weight:600}
.pa-panel-links{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--powder-300)}
.pa-cta-alt{margin:14px 0 0;font-size:14.5px}
.pa-cta-alt a{color:#fff}
.cta .actions{align-items:flex-start}

@media (max-width:1180px){.pa-updates{grid-template-columns:repeat(2,1fr)}.pa-check{grid-template-columns:1fr}.pa-ready{position:static}}
@media (max-width:1100px){.pa-4c{grid-template-columns:1fr 1fr}}
@media (max-width:960px){
  .pa-two,.pa-pay,.pa-panel-grid,.pa-docs,.pa-funds,.pa-time,.pa-steps{grid-template-columns:1fr;gap:16px}
  .pa-pay,.pa-two{gap:28px}
  .pa-section{padding-top:64px;padding-bottom:64px}
}
@media (max-width:600px){
  .pa-hero .hero-actions{flex-direction:column;align-items:stretch}
  .pa-hero .cta-stack,.cta .cta-stack{width:100%;align-items:center}
  .cta-stack .btn{width:100%}
  .pa-hero .hero-actions > .btn,.cta .actions > .btn{width:100%}
  .pa-4c,.pa-means,.pa-updates,.pa-mistakes,.pa-check-grid{grid-template-columns:1fr}
  .pa-compare{padding:4px}
  .pa-compare table{font-size:13.5px}
  .pa-compare th,.pa-compare td{padding:11px 9px}
  .pa-compare thead th{font-size:10px;letter-spacing:.06em}
  .pa-compare tbody th{width:30%}
  .pa-quote{padding:18px 18px}
  .pa-quote p{font-size:17px}
  .dti-formula{grid-template-columns:1fr;gap:6px}
  .dti-formula b{text-align:center;line-height:1}
  .pa-dti,.pa-panel,.pa-docs article,.pa-funds article,.pa-time article,.pa-means > div{padding:20px}
  .pa-est .tag-hyp{position:static;display:inline-block;margin-bottom:10px}
  .pa-total b{font-size:28px}
  .pa-step-c{padding:18px 18px 18px 66px}
  .pa-step-c .num{left:16px;top:18px}
  .pa-panel h3{font-size:23px}
  .pa-mini{display:none}
}
@media print{
  .site-header,.stage-nav,.pa-hero,.pa-section:not(#checklist),.faq-section,.learn-section,.cta,.sources-section .sources,.site-footer .foot-grid,.skip,.rm-tools,.pa-ready .cta-stack,.pa-ready-msg{display:none!important}
  #checklist{padding:0}
  #checklist .lead{font-size:11pt}
  .pa-check{display:block}
  .pa-check-grid{grid-template-columns:1fr 1fr;gap:8px}
  .pa-cat{break-inside:avoid;background:none!important;border:1px solid #ccc;padding:8px 10px}
  .task{padding:4px 0;font-size:10pt}
  .pa-ready{position:static;box-shadow:none;border:1px solid #ccc;margin-top:10px;padding:12px}
  .reveal{opacity:1!important;transform:none!important}
  .site-footer{background:none;color:#333;padding:10px 0}
  .site-footer *{color:#333!important}
}
.pa-hero .wrap > div{min-width:0}
@media (max-width:600px){
  .cta-stack .btn{white-space:normal;text-align:center;line-height:1.3;padding-left:18px;padding-right:18px}
  .apply-note{justify-content:center;text-align:center}
  .pa-4c article{padding:20px;display:grid;grid-template-columns:44px 1fr;column-gap:16px;align-items:start}
  .pa-4c .n{grid-row:span 2;margin:0}
  .pa-4c h3{font-size:21px;margin:0 0 4px}
}
.pa-pay > *,.pa-two > *,.est-row > div,.pa-panel-grid > *,.pa-check > *{min-width:0}
.est-row .inp input,.inp select{width:100%;min-width:0}
@media (max-width:600px){.est-row{gap:10px}.est-row .inp{padding:0 10px}.est-row .inp input{font-size:16px;padding:11px 4px}}
.pa-check-grid{display:block;columns:2;column-gap:16px}
.pa-check-grid .pa-cat{break-inside:avoid;margin:0 0 16px;display:block;width:100%}
.pa-ready .cta-stack{align-items:center}
.pa-ready .btn{white-space:normal;text-align:center;line-height:1.3;padding:16px 18px;letter-spacing:.06em}
.pa-panel-cta .btn{white-space:normal;text-align:center;line-height:1.3}
.pa-cta-alt{display:flex;flex-wrap:wrap;gap:6px 18px;color:transparent}
.pa-cta-alt a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px}
@media (max-width:600px){
  .pa-check-grid{columns:1}
  .pa-funds article,.pa-updates li{padding:16px 18px}
  .pa-funds h3{font-size:19px;margin-bottom:6px}
  .pa-updates{gap:10px}
  .pa-cta-alt{justify-content:center}
  .pa-time .big{font-size:36px}
}
@media print{.pa-check-grid{columns:2}}
