
/*
Theme Name: JPAR Modern Theme (n470)
Theme URI: https://n470.co
Author: Tim Sheehan
Description: JPAR + NAR compliant theme. Montserrat/Lora typography. Blue banner with proportional logo and responsive hamburger. Mobile-aware and REALTOR® mark enforced. Includes simplified home page.
Version: 1.5.0
Text Domain: jpar-modern-theme
*/

/* Self-hosted Lora + Montserrat.
   Replaces an @import from fonts.googleapis.com — that was a third-party
   request on every page load (a privacy exposure on a logged-in internal
   portal) and render-blocking. Files live in fonts/, generated from the
   same Google Fonts CSS so the unicode-range subsetting is preserved. */
/* cyrillic-ext */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LLPtLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LJftLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* math */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LXftLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LT_tLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LLvtLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LL_tLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LIftLtfOm8w.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LLPtLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LJftLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* math */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LXftLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LT_tLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LLvtLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LL_tLtfOm84TX.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIhMX1D_JOuMw_LIftLtfOm8w.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuMwf7I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuMw77I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* math */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuM3b7I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuM2T7I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuMwX7I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuMwT7I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuMwr7I_FMl_E.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuMwf7I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuMw77I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* math */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuM3b7I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuM2T7I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuMwX7I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuMwT7I_FMl_GW8g.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/lora-0QIvMX1D_JOuMwr7I_FMl_E.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/montserrat-JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{
  --jpar-blue:#015297;
  --jpar-black:#000000;
  --jpar-silver:#c2c2c2;
  --jpar-white:#ffffff;
  --logo-height:64px;
  --logo-clearspace: calc(var(--logo-height) / 2);
  --page-max:1200px;
}

*{box-sizing:border-box}
html,body{ margin:0; padding:0; background:var(--jpar-white); color:var(--jpar-black); font-family:'Lora', serif; line-height:1.6; }

h1,h2,h3,h4,h5,h6{
  font-family:'Montserrat', sans-serif;
  color:var(--jpar-blue);
  margin:0 0 0.5em 0;
  line-height:1.2;
}

.container{ max-width:var(--page-max); margin:0 auto; padding:0 20px; }

/* Header banner */
.jpar-header-banner{ background:var(--jpar-blue); color:#fff; padding: calc(var(--logo-clearspace)/2) 24px; }
.banner-grid{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; column-gap:16px; }
.banner-left, .banner-center, .banner-right{ display:flex; align-items:center; justify-content:center; }
.banner-left{ justify-content:flex-start; }
.banner-right{ justify-content:flex-end; gap:12px; }

/* Standalone login/account button to the left of the hamburger.
   Always visible — the brief asked for the auth affordance to be one
   click rather than buried inside the dropdown. White-on-blue inverse
   on the dark banner; flips on hover. */
.jpar-login-btn{
  display:inline-flex; align-items:center;
  padding:8px 16px;
  background:#fff; color:var(--jpar-blue);
  border-radius:6px;
  font-family:'Montserrat', Arial, sans-serif;
  font-weight:700; font-size:0.85rem;
  text-transform:uppercase; letter-spacing:0.04em;
  text-decoration:none;
  transition:background 0.15s ease, color 0.15s ease, transform 0.05s ease;
  white-space:nowrap;
}
.jpar-login-btn:hover, .jpar-login-btn:focus-visible{
  background:var(--jpar-light-blue, #8FCBFE);
  color:var(--jpar-navy, #051444);
}
.jpar-login-btn:active{ transform:translateY(1px); }

/* Logout / secondary variant — outline pill so the primary identity
   pill (first name) reads as the dominant action. */
.jpar-login-btn--secondary{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,0.6);
}
.jpar-login-btn--secondary:hover, .jpar-login-btn--secondary:focus-visible{
  background:rgba(255,255,255,0.1);
  color:#fff;
  border-color:#fff;
}

@media (max-width: 640px){
  .jpar-login-btn{ padding:6px 12px; font-size:0.78rem; }
}

.jpar-logo{ height:var(--logo-height); width:auto; display:block; margin: calc(var(--logo-clearspace)/2) 0 calc(var(--logo-clearspace)/2) calc(var(--logo-clearspace)/2); }

.banner-title{ text-align:center; line-height:1.1; font-family:'Montserrat', sans-serif; color:#fff; }
.banner-title .line1{ font-weight:700; font-size: clamp(1.1rem, 2.4vw, 1.6rem); letter-spacing:0.2px; }
.banner-title .line2{ font-weight:400; font-size: clamp(0.95rem, 2vw, 1.25rem); opacity:0.95; margin-top:4px; }

/* Banner contact row — phone + email, clickable, sit under the title.
   Renders on every page since contact info is universal. */
.banner-contact{
  margin-top: 6px;
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 6px 10px;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: clamp(0.78rem, 1.4vw, 0.9rem);
  font-weight: 500;
  opacity: 0.92;
}
.banner-contact__link{
  display: inline-flex; align-items: center; gap: 5px;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.banner-contact__link:hover{
  border-bottom-color: rgba(255,255,255,0.7);
  color: #fff;
}
.banner-contact__icon{ flex: 0 0 14px; opacity: 0.85; }
.banner-contact__sep{ color: rgba(255,255,255,0.55); }
@media (max-width: 540px){
  .banner-contact{ flex-direction: column; gap: 2px; }
  .banner-contact__sep{ display: none; }
}

/* Hamburger */
.nav-wrap{ position:relative; }
.hamburger-menu{ width:36px; height:28px; display:flex; flex-direction:column; justify-content:space-between; cursor:pointer; background:transparent; border:0; padding:0; }
.hamburger-menu .bar{ width:100%; height:3px; background:#fff; border-radius:2px; }
.nav-dropdown{ display:none; position:absolute; top:calc(100% + 10px); right:0; background:var(--jpar-blue); border-radius:8px; min-width:200px; padding:6px 0; box-shadow:0 10px 20px rgba(0,0,0,0.15); list-style:none; margin:0; z-index:50; }
.nav-dropdown li{ border-bottom:1px solid rgba(255,255,255,0.18); }
.nav-dropdown li:last-child{ border-bottom:none; }
.nav-dropdown a{ display:block; padding:12px 16px; color:#fff; text-decoration:none; font-family:'Montserrat', sans-serif; }
.nav-dropdown a:hover, .nav-dropdown a:focus{ background:#003e74; }
/* Click-to-toggle, driven by .is-open from header.php JS. The previous
   :hover / :focus-within rules were removed because they auto-opened
   the menu whenever the nav element took focus on page load. */
.nav-dropdown.is-open{ display:block; }

/* Sub-menu (e.g. Garage Sales → Broadlands Garage Sale).
   Hidden by default; flies out to the LEFT on desktop hover/focus
   (right side is viewport edge — the parent dropdown is already
   right-aligned). On narrow screens, falls back to an inline
   indented list so the flyout doesn't go off-screen. */
.nav-dropdown li.menu-item-has-children{ position: relative; }
.nav-dropdown .sub-menu{
  display: none;
  list-style: none;
  margin: 0;
  padding: 6px 0;
  background: var(--jpar-blue);
  border-radius: 8px;
  min-width: 220px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.15);
  position: absolute;
  top: 0;
  right: 100%;
  margin-right: 6px;
}
.nav-dropdown li.menu-item-has-children:hover > .sub-menu,
.nav-dropdown li.menu-item-has-children:focus-within > .sub-menu{
  display: block;
}

/* Caret indicator on parents so users know there's more inside. */
.nav-dropdown li.menu-item-has-children > a::after{
  content: " \203A";        /* ‹ single right-angle quotation mark */
  margin-left: 6px;
  opacity: 0.7;
}

/* Mobile: stack the sub-menu inline under its parent so it's always
   visible and never falls off-screen. */
@media (max-width: 540px){
  .nav-dropdown .sub-menu{
    display: block;
    position: static;
    box-shadow: none;
    border-radius: 0;
    margin: 0;
    padding: 0;
    background: rgba(0, 0, 0, 0.18);
  }
  .nav-dropdown .sub-menu a{ padding-left: 32px; }
  .nav-dropdown li.menu-item-has-children > a::after{ display: none; }
}

/* Page content */
main{ padding:0; }

/* Footer */
.site-footer{ background:#f7f7f7; border-top:1px solid #e6e6e6; padding:24px 0; color:#333; font-size:0.95rem; }
.site-footer .disclaimer{ font-size:0.9rem; color:#333; }
.nar-footer{ margin-top:6px; color:#333; font-size:0.9rem; line-height:1.4; }
/* CRM-capture disclaimer — lives inside the Services section as a
   prominent .lead paragraph. Soft callout treatment (light background
   + accent left border) to draw the eye without breaking the section's
   visual rhythm. */
.section p.lead.crm-disclaimer{
  max-width: 760px;
  margin: 16px auto 0;
  padding: 14px 18px;
  background: rgba(143, 203, 254, 0.18);   /* jpar-light-blue, faded */
  border-left: 4px solid var(--jpar-blue);
  border-radius: 6px;
  text-align: left;
  font-style: normal;
  color: #1a2740;
}
.section p.lead.crm-disclaimer a{
  color: var(--jpar-blue);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.section p.lead.crm-disclaimer a:hover{ color: var(--jpar-navy); }

/* Per-event data-handling notice on garage sale event pages.
   Sits directly above the registration form so visitors see the
   "your data goes to the sponsoring agent, not Tim" promise before
   they fill anything in. Soft yellow callout to differentiate from
   marketing tone. Re-use this class on every garage-sale event page
   you publish — just edit the sponsoring agents' names inside it. */
.event-data-notice{
  max-width:860px; margin:1.5rem auto 1rem;
  padding:14px 18px;
  background:#fffbe6;
  border-left:4px solid #d4a72c;
  border-radius:6px;
  font-family:'Lora', Georgia, serif;
  font-size:0.95rem; line-height:1.5; color:#3d2f00;
}
.event-data-notice p{ margin:0; }
.event-data-notice strong{ color:#1a1500; }
.affiliation-bar{ margin-top:10px; }
.affiliation-logos{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.affiliation-logos .affil{ height:28px; width:auto; display:block; }
.affiliation-logos .nar-affil{ filter:none; } /* don't recolor NAR mark */

/* REALTOR® mark styling */
.realtor-mark{ color:#000000 !important; font-weight:400; text-transform:none; letter-spacing:normal; }

/* Home (front-page) */
.hero-gradient{
  background: linear-gradient(180deg, rgba(1,82,151,1) 0%, rgba(1,82,151,0.65) 35%, rgba(255,255,255,0) 100%);
  padding: 64px 0 48px 0;
}
.hero-inner{ text-align:center; color:#0d2a45; }
.hero-title{ color:#0d2a45; font-family:'Montserrat', sans-serif; font-weight:700; font-size: clamp(1.6rem, 3.2vw, 2.2rem); margin-bottom:10px; }
.hero-sub{ color:#0d2a45; font-size: clamp(1rem, 2vw, 1.2rem); opacity:0.9; margin-bottom:18px; }
.cta-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* Break the hero out of the centred .container so it spans the full
   viewport width — the white margins on either side of the blue band
   were caused by the hero being nested inside .container/main. The
   negative-margin formula pulls the element out by half the gap
   between viewport and content-width, regardless of theme padding. */
.hero-gradient{
  margin-left:  calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  /* Reverse the wp-content .container's lateral padding (20px) so the
     hero truly hits the viewport edge. */
  padding-left:  20px;
  padding-right: 20px;
  box-sizing: border-box;
}

/* Hide the redundant page <h2> WordPress emits on /home/, /preferred-vendors/
   etc. — we use the hero / page content for the title hierarchy. The
   selector is scoped to the .entry's parent article so we don't suppress
   genuine post titles inside the_content. */
body.home article.page > h2,
body.page-template-default article.page > h2:first-of-type{
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0,0,0,0); border: 0;
}

/* Compact hero — title + subtitle + CTAs only, sized to its own
   content. The search widget is no longer in the hero (it lives in
   .search-band below) so the hero gradient stays short. */
.hero-inner{ padding: 36px 0; }
.hero-title{ font-size: clamp(1.8rem, 3.4vw, 2.4rem); }

/* Search band — its own section directly under the hero. Two-column
   on desktop (copy left, BoldTrail iframe right), stacks on mobile.
   Background is a soft tint to delineate from white About below. */
.search-band{
  background: linear-gradient(180deg, #f4f7fb 0%, #ffffff 100%);
  padding: 28px 0;
  border-bottom: 1px solid #e6ebf2;
}
.search-band__inner{
  display: grid;
  grid-template-columns: 1fr minmax(280px, 320px);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}
@media (max-width: 760px){
  .search-band__inner{ grid-template-columns: 1fr; text-align: center; }
}
.search-band__heading{
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--jpar-navy, #051444);
  margin: 0 0 8px;
}
.search-band__tip{
  font-family: 'Lora', Georgia, serif;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #333;
  margin: 0 0 12px;
}
.search-band__tip strong{ color: var(--jpar-navy, #051444); }
.search-band__tip em{ font-style: italic; color: var(--jpar-blue, #015297); }
.search-band__ai{
  font-family: 'Lora', Georgia, serif;
  font-size: 0.9rem;
  color: #333;
  margin: 0;
}
.search-band__ai a{
  color: var(--jpar-blue, #015297);
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 700;
  text-decoration: none;
  margin-left: 4px;
  border-bottom: 1px solid currentColor;
  white-space: nowrap;
}
.search-band__ai a:hover{ color: var(--jpar-navy, #051444); }
.search-band__widget{
  width: 100%;
  max-width: 320px;
  /* 680px = BoldTrail's recommended default for the embed widget —
     full form visible end-to-end with no internal scrollbar. */
  height: 680px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.10);
  justify-self: end;
}
@media (max-width: 760px){
  .search-band__widget{ justify-self: center; }
}
.btn{
  display:inline-block; padding:12px 18px; border-radius:10px; text-decoration:none; font-family:'Montserrat', sans-serif;
  font-weight:600; border:2px solid var(--jpar-blue);
}
.btn-primary{ background:var(--jpar-blue); color:#fff; }
.btn-outline{ background:#fff; color:var(--jpar-blue); }

/* Get the App — third hero CTA. Filled accent (light-blue) to stand
   visually distinct from the primary blue and outline white buttons.
   Inline SVG icon sits ahead of the label to read "mobile app". */
.btn-app{
  background: var(--jpar-light-blue, #8FCBFE);
  color: var(--jpar-navy, #051444);
  border-color: var(--jpar-light-blue, #8FCBFE);
  display: inline-flex; align-items: center; gap: 8px;
}
.btn-app:hover{
  background: #fff;
  color: var(--jpar-blue, #015297);
}
.btn-app__icon{ flex: 0 0 16px; }

.btn:hover{ transform: translateY(-1px); }

.section{ padding: 24px 0; }
.section h2{ text-align:center; margin:0 0 8px; }
.section p.lead{ text-align:center; margin:0 auto 14px auto; max-width:760px; color:#333; }

.cards{
  display:grid; gap:16px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  max-width:1200px; margin:0 auto;
}
.card{
  background:#ffffff; border:1px solid #eaeaea; border-radius:12px;
  padding:18px;
  display:flex; flex-direction:column; gap:8px;
}
.card h3{ margin:0; color:var(--jpar-blue); font-family:'Montserrat', sans-serif; }
.card p{ margin:0; color:#333; flex:1; }
.card__cta{
  align-self: flex-start;
  margin-top: 6px;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--jpar-blue);
  text-decoration: none;
  border-bottom: 2px solid currentColor;
  padding-bottom: 1px;
  transition: color 0.15s ease;
}
.card__cta:hover{ color: var(--jpar-navy); }
/* Stacked CTAs inside a single card (e.g. recruit card with 30-min
   and 1-hour Calendly options). flex-column so each CTA is its own
   line; small gap keeps them visually paired without crowding. */
.card__ctas{
  display: flex; flex-direction: column; gap: 4px;
  margin-top: 6px;
}
.card__ctas .card__cta{ margin-top: 0; }
/* Recruitment card — light accent so it reads as a related-but-distinct
   audience (agents, not buyers/sellers). */
.card--recruit{
  background: rgba(143, 203, 254, 0.12);
  border-color: rgba(1, 82, 151, 0.18);
}

/* Responsive */
@media (max-width: 900px){
  .cards{ grid-template-columns: 1fr; }
}
@media (max-width: 760px){
  .banner-grid{ grid-template-columns: 1fr auto; row-gap:8px; }
  .banner-left{ justify-content:flex-start; grid-column:1 / 2; grid-row:1; }
  .banner-right{ justify-content:flex-end; grid-column:2 / 3; grid-row:1; }
  .banner-center{ grid-column:1 / -1; grid-row:2; }
  .jpar-logo{ height:50px; }
}
