/* =====================================================================
   Lender section (/join-our-network/ and children, 2026-10-22).
   Loaded after pages.css and extends its grammar: 2px ink rule opening
   each list, hairlines between rows, ink pill for the one primary action,
   azure for links. No cards, no icon tiles, no shadows, no motion.
   ===================================================================== */

.page-network [hidden]{display:none !important}
.jn-nw{white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.page-network .pg-hero h1{max-width:19ch}
.page-network .pg-split__head p + p{margin-top:10px}
.page-network ::selection{background:#cfe3f4;color:var(--ink-deep)}

/* hero actions: the ink pill plus one quiet text link */
.jn-act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px}
.jn-alt{
    display:inline-flex;align-items:center;min-height:44px;
    font-size:1rem;font-weight:600;color:var(--accent);
    text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;
}
.jn-alt:hover{text-decoration-thickness:2px}
.jn-alt:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
@media (max-width:479px){.jn-act{flex-direction:column;align-items:stretch}.jn-alt{justify-content:center}}
.jn-facts dd{font-weight:500;font-size:1rem}

/* ------------------------------------------------ product rows (hub) */
.jn-prods{list-style:none;border-top:2px solid var(--ink)}
.jn-prods > li{border-bottom:1px solid var(--line)}
.jn-prods a,.jn-prods__soon{
    display:flex;align-items:center;gap:18px;padding:18px 0 20px;
    color:var(--ink);text-decoration:none;-webkit-tap-highlight-color:transparent;
}
.jn-prods a > span,.jn-prods__soon > span{flex:1 1 auto;min-width:0}
.jn-prods strong{
    display:block;font-size:1.125rem;font-weight:700;letter-spacing:-.01em;line-height:1.4;color:var(--ink);
    text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-underline-offset:4px;
    transition:text-decoration-color var(--t) var(--ease),color var(--t) var(--ease);
}
.jn-prods small{display:block;margin-top:4px;max-width:58ch;font-size:1rem;line-height:1.6;color:var(--ink-soft)}
.jn-prods a svg{flex:0 0 auto;width:20px;height:20px;color:var(--ink-soft)}
.jn-prods a:hover strong{color:var(--accent);text-decoration-color:currentColor}
.jn-prods a:hover svg{color:var(--accent)}
.jn-prods a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.jn-prods__soon strong{color:var(--ink-soft)}

/* ------------------------------------------------ field table */
.jn-table-wrap{border-top:2px solid var(--ink)}
.jn-table{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.6}
.jn-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.jn-table thead th{
    padding:12px 16px 10px 0;border-bottom:1px solid var(--line);
    font-size:.92rem;font-weight:600;color:var(--muted);text-align:left;
}
.jn-table tbody th,.jn-table td{padding:14px 16px 15px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.jn-table tbody th{width:11.5rem;font-weight:700;color:var(--ink)}
.jn-table td{color:var(--ink-soft)}
@media (max-width:599px){
    .jn-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
    .jn-table,.jn-table tbody,.jn-table tr,.jn-table th,.jn-table td{display:block;width:auto}
    .jn-table tr{padding:14px 0 15px;border-bottom:1px solid var(--line)}
    .jn-table tbody th,.jn-table td{padding:0;border:0}
    .jn-table tbody th{width:auto}
    .jn-table td{margin-top:3px}
}

/* ------------------------------------------------ FAQ (all answers visible) */
.jn-faq{border-top:2px solid var(--ink)}
.jn-faq__item{padding:18px 0 20px;border-bottom:1px solid var(--line)}
.jn-faq__item h3{font-size:1.125rem;font-weight:700;letter-spacing:-.01em;line-height:1.4;color:var(--ink)}
.jn-faq__item p{margin-top:6px;max-width:58ch;font-size:1rem;line-height:1.65;color:var(--ink-soft)}
.jn-faq__item a{color:var(--accent);text-underline-offset:3px}
.jn-faq-group + .jn-faq-group{margin-top:44px}
.jn-faq-group > h2{
    margin-bottom:14px;font-size:clamp(1.3rem,2.4vw,1.55rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--ink);
}

/* ------------------------------------------------ "More for lenders" */
.jn-more__list{list-style:none;border-top:2px solid var(--ink)}
@media (min-width:760px){.jn-more__list{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}}
.jn-more__list li{border-bottom:1px solid var(--line)}
.jn-more__list a{
    display:flex;flex-direction:column;justify-content:center;min-height:64px;padding:12px 0 13px;
    text-decoration:none;color:var(--ink);-webkit-tap-highlight-color:transparent;
}
.jn-more__list strong{
    font-size:1.0625rem;font-weight:700;line-height:1.4;color:var(--accent);
    text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;
}
.jn-more__list small{margin-top:2px;font-size:.93rem;line-height:1.45;color:var(--ink-soft)}
.jn-more__list a:hover strong{text-decoration-thickness:2px}
.jn-more__list a[aria-current="page"] strong{color:var(--ink);text-decoration:none}
.jn-more__list a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

/* ------------------------------------------------ prose blocks (trigger page, compliance page) */
.jn-prose{max-width:66ch}
.jn-prose p,.jn-prose li{font-size:1.0625rem;line-height:1.72;color:var(--ink-soft)}
.jn-prose p + p,.jn-prose p + ul,.jn-prose ul + p,.jn-prose p + ol,.jn-prose ol + p{margin-top:16px}
.jn-prose ul,.jn-prose ol{padding-left:1.3em}
.jn-prose li + li{margin-top:8px}
.jn-prose li::marker{color:var(--ink-soft)}
.jn-prose strong{color:var(--ink);font-weight:700}
.jn-prose a{color:var(--accent);text-underline-offset:3px}
.jn-prose cite{font-style:normal}

/* verbatim document excerpt (consent text, statute text): a ruled box, not a callout */
.jn-quote{
    margin-top:20px;padding:20px 22px 22px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;
    font-size:.97rem;line-height:1.7;color:var(--ink);
}
.pg-sec:not(.pg-sec--wash) .jn-quote{background:var(--wash)}
.jn-quote p + p{margin-top:12px}
.jn-quote a{color:var(--accent);text-underline-offset:3px}
.jn-quote__src{margin-top:12px;font-size:.92rem;line-height:1.5;color:var(--muted)}

/* checklist: what comes with every request */
.jn-checks{list-style:none;border-top:2px solid var(--ink)}
.jn-checks li{
    display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:14px;
    padding:15px 0 16px;border-bottom:1px solid var(--line);
    font-size:1rem;line-height:1.6;color:var(--ink-soft);
}
.jn-checks svg{width:20px;height:20px;margin-top:3px;color:var(--accent)}
.jn-checks strong{color:var(--ink);font-weight:700}
.jn-checks a{color:var(--accent);text-underline-offset:3px}

/* sources list (dated) */
.jn-sources{list-style:none;border-top:2px solid var(--ink)}
.jn-sources li{max-width:none;padding:14px 0 15px;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.6;color:var(--ink-soft)}
.jn-sources li > span{display:block;max-width:60ch}
.jn-sources a{font-weight:600;color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere}

.jn-note{margin-top:22px;max-width:62ch;font-size:.97rem;line-height:1.65;color:var(--ink-soft)}
.jn-note a{color:var(--accent);text-underline-offset:3px}

/* ================================================== inquiry form */
.inq{max-width:40rem}
.inq-form{display:grid;gap:20px;border-top:2px solid var(--ink);padding-top:22px}
.inq-req{font-size:.92rem;line-height:1.5;color:var(--ink-soft)}
.inq-row{display:grid;gap:20px}
@media (min-width:640px){.inq-row{grid-template-columns:1fr 1fr}}
.inq-field{display:flex;flex-direction:column;min-width:0}
.inq-field > label,.inq-checks legend{
    margin-bottom:7px;font-size:.97rem;font-weight:600;line-height:1.4;color:var(--ink);
}
.inq-star{color:var(--danger);font-weight:700}
.inq-field input:not([type=checkbox]),.inq-field textarea{
    width:100%;min-height:50px;padding:12px 14px;
    font:inherit;font-size:1.0625rem;line-height:1.45;color:var(--ink);
    background:#fff;border:1.5px solid #7d8da1;border-radius:10px;
    transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);
    -webkit-appearance:none;appearance:none;
}
.inq-field textarea{min-height:120px;resize:vertical}
.inq-field input:not([type=checkbox]):hover,.inq-field textarea:hover{border-color:var(--ink-soft)}
.inq-field input:not([type=checkbox]):focus,.inq-field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(25,116,179,.22)}
.inq-field.is-invalid input:not([type=checkbox]),.inq-field.is-invalid textarea{border-color:var(--danger)}
.inq-field.is-invalid input:focus{box-shadow:0 0 0 3px rgba(200,30,39,.16)}
.inq-hint{margin-top:7px;font-size:.92rem;line-height:1.5;color:var(--muted)}
.inq-err{margin-top:7px;font-size:.93rem;font-weight:600;line-height:1.45;color:var(--danger)}

.inq-checks{border:0;min-width:0}
.inq-checks legend{padding:0}
.inq-check{
    display:flex;align-items:center;gap:12px;min-height:50px;padding:10px 14px;margin-top:8px;
    border:1.5px solid #7d8da1;border-radius:10px;background:#fff;cursor:pointer;
    font-size:1rem;font-weight:500;line-height:1.4;color:var(--ink);
    transition:border-color var(--t) var(--ease),background var(--t) var(--ease);
    -webkit-tap-highlight-color:transparent;
}
.inq-check:first-of-type{margin-top:0}
.inq-check:hover{border-color:var(--ink-soft)}
.inq-check input{flex:0 0 auto;width:20px;height:20px;min-height:0;padding:0;border:0;margin:0;accent-color:var(--ink);cursor:pointer}
.inq-check input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.inq-check:has(input:checked){border-color:var(--ink);background:var(--accent-tint)}
.inq-checks.is-invalid .inq-check{border-color:var(--danger)}

.inq-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

.inq-alert{
    padding:12px 14px;border:1.5px solid var(--danger);border-radius:10px;background:#fff;
    font-size:.97rem;font-weight:600;line-height:1.5;color:var(--danger);
}
.inq-submit{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:4px}
.inq-btn{border:0;cursor:pointer;font-family:inherit}
.inq-btn[disabled]{cursor:progress;background:var(--ink-soft)}
.inq-fine{font-size:.92rem;line-height:1.5;color:var(--muted)}
.inq-fine a{color:var(--accent);text-underline-offset:3px}

.inq-done{border-top:2px solid var(--ink);padding-top:22px}
.inq-done:focus{outline:none}
.inq-done:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:4px}
.inq-done h3{font-size:clamp(1.3rem,2.4vw,1.55rem);font-weight:800;letter-spacing:-.02em;line-height:1.25;color:var(--ink)}
.inq-done p{margin-top:10px;max-width:56ch;font-size:1.0625rem;line-height:1.65;color:var(--ink-soft)}
.inq-done a{color:var(--accent);text-underline-offset:3px}

/* No JavaScript: hide the form, show the email route instead. */
.inq-nojs{margin-top:4px;max-width:56ch;font-size:1rem;line-height:1.65;color:var(--ink-soft)}
.inq-nojs a{color:var(--accent);text-underline-offset:3px}
html:not(.js) .inq-form{display:none}
html.js .inq-nojs{display:none}

@media (prefers-reduced-motion:reduce){
    .jn-prods strong,.inq-field input,.inq-field textarea,.inq-check{transition:none}
}

/* FAQ page: topic links under the hero */
.jn-faq-jump{padding:0 0 clamp(28px,4vw,44px)}
.jn-faq-jump .pg-links{margin-top:0;border-top:1px solid var(--line);padding-top:10px}
.page-network .pg-hero:has(+ .jn-faq-jump){padding-bottom:clamp(16px,2.5vw,28px)}

/* Sample lead page (2026-10-27): 3-column field table and the JSON post */
.jn-table--3 tbody th{width:auto;white-space:nowrap}
.jn-table--3 code,.jn-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}
.jn-table--3 tbody th code{font-weight:600;color:var(--ink)}
.jn-table--3 .jn-val{color:var(--ink);overflow-wrap:anywhere}
@media (max-width:599px){.jn-table--3 tbody th{white-space:normal}}
.jn-code{
    display:block;max-width:100%;overflow-x:auto;margin:0;padding:20px 22px;
    border-top:2px solid var(--ink);border-radius:0 0 12px 12px;background:var(--wash);
    line-height:1.6;color:var(--ink);white-space:pre;
}
.jn-code:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Mortgage lead calculator (2026-10-27). Not .inq-form: that one hides without JS. */
.lc-form{display:grid;gap:18px 20px;border-top:2px solid var(--ink);padding-top:22px}
@media (min-width:640px){.lc-form{grid-template-columns:1fr 1fr}}
.lc-form .inq-field input{font-variant-numeric:tabular-nums}
.lc-nojs-btn{grid-column:1/-1}
html.lc-js .lc-nojs-btn{display:none}
.lc-out{margin-top:32px}
.lc-out__lead{font-size:.97rem;font-weight:600;color:var(--ink-soft)}
.lc-out__big{margin:2px 0 14px;font-size:clamp(2rem,5vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.lc-out .pg-ledger dd{font-variant-numeric:tabular-nums}
.jn-more__h{margin:34px 0 10px;font-size:1.0625rem;font-weight:700;color:var(--ink)}
