.jp-tool-page{min-height:100vh;color:var(--ink);background:var(--surface-soft)}.jp-tool-main{padding-block:60px 80px}.jp-tool-heading{max-width:850px;margin-bottom:34px}.jp-tool-kicker{color:var(--blue-dark);letter-spacing:.1em;font-size:12px;font-weight:750}.jp-tool-heading h1{letter-spacing:-.04em;overflow-wrap:anywhere;margin:12px 0 16px;font-size:clamp(28px,4vw,48px);line-height:1.35}.jp-tool-heading p{color:var(--muted);font-size:16px;line-height:1.8}.jp-tool-card{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft);border-radius:24px;padding:28px}.jp-tool-card h2{margin:0 0 24px;font-size:21px}.jp-mortgage-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:24px;display:grid}.jp-mortgage-form{gap:20px;display:grid}.jp-mortgage-form label,.jp-map-toolbar label{gap:10px;min-width:0;font-size:14px;font-weight:650;display:grid}.jp-mortgage-form input,.jp-map-toolbar select{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;min-height:48px;color:var(--ink);background:var(--surface-soft);font:inherit;border-radius:12px;padding:11px 14px;font-size:16px}.jp-tool-field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.jp-tool-button{color:#fff;background:var(--blue-dark);min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:12px;padding:12px 20px;font-weight:700}.jp-tool-button:hover{filter:brightness(.95)}.jp-tool-note{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.jp-tool-error{color:#c82525;font-size:14px;line-height:1.6}.jp-mortgage-monthly{color:var(--ink);letter-spacing:-.04em;overflow-wrap:anywhere;margin:18px 0 8px;font-size:clamp(30px,4.2vw,52px);line-height:1.3;display:block}.jp-mortgage-result>p{color:var(--muted)}.jp-mortgage-summary{gap:0;margin:28px 0;display:grid}.jp-mortgage-summary>div{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:10px 20px;padding:16px 0;display:flex}.jp-mortgage-summary dt{color:var(--muted);font-size:14px}.jp-mortgage-summary dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.jp-mortgage-schedule{margin-top:24px}.jp-mortgage-schedule summary{cursor:pointer;font-weight:650}.jp-tool-table-scroll{margin-top:20px;overflow-x:auto}.jp-tool-table-scroll table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.jp-tool-table-scroll th,.jp-tool-table-scroll td{border-bottom:1px solid var(--line);text-align:left;padding:12px 8px}.jp-tool-table-scroll td{text-align:right}.jp-map-toolbar{flex-wrap:wrap;align-items:end;gap:20px;margin-bottom:20px;padding:20px 24px;display:flex}.jp-map-toolbar label{flex:0 290px}.jp-map-stage{isolation:isolate;border:1px solid var(--line);background:#dce6ed;border-radius:24px;height:clamp(380px,62vh,740px);position:relative;overflow:hidden}.jp-map-status{z-index:4;background:var(--surface);width:max-content;max-width:calc(100% - 40px);box-shadow:var(--shadow-card);text-align:center;border-radius:16px;padding:16px 22px;font-size:14px;position:absolute;top:24px;left:50%;transform:translate(-50%)}.jp-map-status p{margin:0 0 12px}.jp-map-controls{z-index:3;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;display:grid;position:absolute;top:24px;right:18px;overflow:hidden}.jp-map-controls button{border:0;border-bottom:1px solid var(--line);min-width:48px;min-height:48px;color:var(--ink);background:var(--surface);font:inherit;cursor:pointer;font-size:20px}.jp-map-controls button:last-child{border-bottom:0;font-size:13px}.jp-map-controls button:disabled{opacity:.45;cursor:default}.jp-map-resources{grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 20px;display:grid}.jp-map-resources a{color:var(--ink);gap:10px;text-decoration:none;display:grid}.jp-map-resources a strong{color:var(--blue-dark);font-size:17px}.jp-map-resources a span{color:var(--muted);font-size:13px;line-height:1.7}.jp-tool-page input:focus-visible,.jp-tool-page select:focus-visible,.jp-tool-page button:focus-visible,.jp-tool-page summary:focus-visible,.jp-map-resources a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media (max-width:760px){.jp-tool-main{padding-block:36px 48px}.jp-tool-heading{margin-bottom:24px}.jp-tool-heading h1{font-size:29px}.jp-mortgage-grid,.jp-map-resources{grid-template-columns:minmax(0,1fr)}.jp-tool-card{border-radius:20px;padding:22px 18px}.jp-mortgage-monthly{font-size:36px}.jp-map-toolbar{gap:12px}.jp-map-toolbar label{flex-basis:100%}.jp-map-stage{border-radius:20px;height:500px;max-height:72vh}.jp-map-status{max-width:calc(100% - 96px);top:16px;left:16px;transform:none}.jp-map-controls{top:16px;right:12px}}
