.page-header{padding:72px 0 0;background:var(--surface-white);border-bottom:1px solid var(--mist);margin-bottom:48px}.page-header h1{font-family:var(--serif);font-size:clamp(2rem,3.5vw + 1rem,3.25rem);color:var(--indigo);margin:0 0 16px;font-weight:500;letter-spacing:-.03em;line-height:1.1;max-width:22ch}.page-header .sub{font-size:17px;color:#16181cb3;margin:0 0 28px;max-width:65ch;line-height:1.6}.search-bar-wrap{position:relative;max-width:520px;margin-bottom:28px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}#q-input{width:100%;padding:12px 40px 12px 42px;border:1.5px solid var(--mist);border-radius:10px;font-size:15px;font-family:var(--sans);background:var(--cream);color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}#q-input:focus{border-color:var(--indigo);box-shadow:0 0 0 3px #1e2a5e14;background:var(--surface-white)}.q-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);padding:6px;display:flex;align-items:center;border-radius:4px}.q-clear:hover{color:var(--ink)}.q-clear:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.filter-bar{display:grid;grid-template-columns:max-content 1fr;column-gap:20px;row-gap:10px;padding:4px 0 24px;align-items:center}.filter-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap}.filter-tier-break{grid-column:1 / -1;height:1px;background:var(--mist);margin:4px 0}.filter-group-pills{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.fpill{display:inline-flex;align-items:center;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:500;border:1.5px solid var(--mist);background:transparent;color:var(--ink);cursor:pointer;transition:border-color .14s,background .14s,color .14s;white-space:nowrap;font-family:var(--sans)}.fpill:hover{border-color:var(--indigo);color:var(--indigo)}.fpill:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.fpill.active{background:var(--indigo);color:var(--cream);border-color:var(--indigo)}.results-wrap{padding-bottom:96px}.results-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.results-meta{font-size:13px;color:var(--muted);font-weight:500}.layout-toggle{display:flex;gap:4px}.layout-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:7px;border:1.5px solid var(--mist);background:transparent;color:var(--muted);cursor:pointer;transition:border-color .14s,background .14s,color .14s}.layout-btn:hover{border-color:var(--indigo);color:var(--indigo)}.layout-btn:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.layout-btn.active{background:var(--indigo);border-color:var(--indigo);color:var(--cream)}.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}.prog-card{display:flex;flex-direction:column}.prog-uni-lbl{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}.prog-home-price{font-size:12px;color:var(--muted);margin-top:10px;padding-top:10px;border-top:1px solid var(--mist);line-height:1.4}.saving-num{color:var(--sage)}.prog-list{display:flex;flex-direction:column;gap:0;margin-bottom:40px}.prog-row{display:flex;align-items:center;gap:24px;padding:18px 20px;border:1px solid var(--mist);border-radius:0;margin-top:-1px;background:var(--surface-white);text-decoration:none;color:inherit;transition:background .14s,border-color .14s;position:relative}.prog-row:focus-visible{outline:2px solid var(--indigo);outline-offset:-2px;z-index:1}.prog-list .prog-row:first-child{border-radius:12px 12px 0 0;margin-top:0}.prog-list .prog-row:last-child{border-radius:0 0 12px 12px}.prog-list .prog-row:only-child{border-radius:12px}.prog-row:hover{background:#1e2a5e05;border-color:var(--indigo);z-index:1}.prog-row-left{flex:1;min-width:0}.prog-row-badges{display:flex;gap:6px;margin-bottom:6px}.prog-row-name{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--indigo);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prog-row-meta{font-size:12px;color:var(--muted)}.prog-tag-inline{display:inline-block;background:#1e2a5e0f;color:var(--indigo);border-radius:4px;padding:1px 7px;font-size:11px;font-weight:500}.prog-row-right{display:flex;align-items:center;gap:24px;flex-shrink:0}.prog-stat-cell{text-align:right}.prog-stat-cell strong{display:block;font-size:15px;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.prog-stat-cell small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.saving-cell strong{color:var(--sage)}.prog-row-arrow{font-size:16px;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:32px 0 0;margin-top:8px;border-top:1px solid var(--mist);flex-wrap:wrap}.pag-info{font-size:13px;color:var(--muted);font-weight:500}.pag-btns{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pag-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 14px;border-radius:9px;border:1.5px solid var(--mist);background:var(--surface-white);color:var(--ink);font-size:14px;font-weight:500;cursor:pointer;font-family:var(--sans);transition:border-color .14s,background .14s,color .14s,box-shadow .14s;white-space:nowrap;letter-spacing:-.01em}.pag-btn:hover:not(:disabled){border-color:var(--indigo);color:var(--indigo);background:#1e2a5e0a}.pag-btn.active{background:var(--indigo);border-color:var(--indigo);color:var(--cream);box-shadow:0 2px 8px #1e2a5e40}.pag-btn:disabled{opacity:.3;cursor:default}.pag-btn:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.pag-ellipsis{color:var(--muted);font-size:14px;padding:0 6px;line-height:40px;user-select:none}.state-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:72px 24px;text-align:center;color:var(--muted)}.state-box p{margin:0;font-size:15px}.state-error{background:var(--error-soft);border:1px solid var(--error-border);border-radius:12px;color:var(--error)}@media(max-width:960px){.prog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.prog-grid{grid-template-columns:1fr}.prog-row-right{gap:14px}.filter-bar{column-gap:12px;row-gap:8px}}
