@font-face {
  font-family: "FA Brands";
  font-weight: 400;
  font-display: block;
  src: url("../fonts/fa-brands-subset.woff2") format("woff2");
}
.panel-sell { padding: 12px 12px 20px; }
.panel-agents { padding: 23px; min-height: 0; }
.panel-agents .location-search { gap: 10px; }
.panel-offices { padding: 40px 12px 39px; }
.panel-agents .location-field { height: 35px; padding: 6px 12px; }
.panel-agents .location-field input { font-size: 17px; line-height: 21px; }
.panel-agents .location-search button { width: 63px; height: 35px; border-radius: 20px; }
.panel-agents .location-search button .fas { font-size: 15px; }
.home-value { padding-top: 81px; height: 629px; }
.home-value-grid { display: grid; grid-template-columns: 1fr 1fr; width: 1284px; max-width: 100%; margin: 0 auto; }
.hv-estimate {
  padding: 30px; text-align: center; box-shadow: rgba(0, 0, 0, 0.5) 19px 0 10px -17px;
}
.hv-estimate h2 { margin: 0; position: relative; z-index: 2; }
.hv-monitor { display: block; width: 332px; max-width: 100%; height: auto; margin: -30px auto 0; position: relative; }
.hv-estimate p { margin-top: -13px; line-height: 25.5px; position: relative; }
.hv-form { display: flex; margin-top: 36px; }
.hv-input { flex: 1; min-width: 0; padding: 10px 8.5px 10px 0; }
.hv-input input {
  width: 100%; height: 53px; padding: 12.75px; border: 1px solid var(--field-border); border-radius: 2px;
  background: var(--field-bg); color: #666; font: 400 17px/25.5px var(--font);
}
.hv-input input::placeholder { color: #777; }
.hv-form button {
  flex: 0 0 151px; padding: 10px 40px; border: 1px solid var(--link); border-radius: 2px;
  background: var(--navy); color: #fff; font: 400 17px/25.5px var(--font); cursor: pointer;
}
.hv-form button:hover { background: #005683; }
.hv-luxury { padding: 30px; text-align: center; display: flex; flex-direction: column; justify-content: center; color: var(--navy-deep); }
.lux-wordmark { display: block; width: 95%; height: auto; margin: 0 auto; border-radius: 58px; }
.hv-luxury h2 { margin: 21px 0 0; font-size: 22px; line-height: 22px; font-weight: 500; color: var(--navy-deep); }
.hv-luxury p { margin-top: 4px; line-height: 25px; }
.hv-luxury .btn-wrap { margin-top: 37px; }
.lux-badge { display: block; margin: 20px auto 0; width: 300px; max-width: 100%; height: auto; }
.relocation { position: relative; height: 464px; margin-top: 20px; }
.relocation-grid { display: grid; grid-template-columns: 681px 550px; width: 1231px; max-width: 100%; margin: 0 auto; height: 100%; }
.relocation-copy {
  padding-top: 89px; text-align: center;
  background: 52px 292px / 88% auto no-repeat;
}
.relocation-copy h2 { margin: 0 auto 20px; padding: 0 40px; }
.relocation-copy p { padding: 0 15px; line-height: 22px; }
.relocation-media { padding: 55px; }
.relocation-media img { display: block; width: 100%; max-width: 440px; height: auto; border-radius: 24px; }
.relocation-media .btn-wrap { margin-top: 20px; }
.florida {
  position: relative; height: 511px; z-index: 0; display: flex; align-items: center; justify-content: center;
}
.florida-bg {
  position: absolute; inset: 0; opacity: 0.26;
  background: 0 -284px / cover no-repeat;
}
.florida-inner { position: relative; z-index: 1; width: 1229px; max-width: 100%; padding: 0 10px; text-align: center; }
.florida-map {
  position: absolute; left: calc(50% - 309px); top: -132px; z-index: 3;
  width: 500px; max-width: none; height: 500px; opacity: 0.1; pointer-events: none;
}
.florida h2 { margin: 0; }
.florida-inner > p { padding: 0 50px; font-size: 18px; line-height: 21.6px; }
.florida-inner > p a { font-weight: 700; }
.florida-cols { display: flex; justify-content: center; width: 656px; max-width: 100%; margin: 41px auto 0; }
.florida-col { flex: 0 0 328px; padding: 10px; }
.florida-col p { margin-bottom: 8.5px; line-height: 25.5px; font-size: 17px; font-weight: 700; color: var(--navy); }
.housing { position: relative; z-index: 1; margin-top: -23px; height: 618px; padding-top: 42px; background: rgba(255, 255, 255, 0.45); }
.housing::before {
  content: ""; position: absolute; inset: 23px 0 0;
  background: linear-gradient(rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.45)), #fff;
}
.housing-grid { position: relative; display: flex; align-items: center; width: 1140px; max-width: 100%; margin: 0 auto; height: 520px; }
.housing-media { flex: 0 0 392px; padding: 10px; text-align: center; }
.housing-media img { display: block; width: 100%; max-width: 333px; height: auto; margin: 0 auto; }
.housing-copy { flex: 1; min-width: 0; padding: 10px 10px 20px; }
.housing h2 { color: #3a3a3a; margin-bottom: 20px; }
.housing ul { list-style: disc; padding-left: 51px; line-height: 25px; }
.housing p { line-height: 25px; }
.housing ul + p { margin-top: 25px; }
.housing .read-label { margin: 14px 0 7.5px; line-height: 25.5px; text-align: center; color: #558191; }
.updates { position: relative; z-index: 2; height: 720px; background: #fff; }
.updates-grid { display: flex; width: 1319px; max-width: 100%; height: 716px; margin: 0 auto; position: relative; top: -30px; }
.updates-copy { flex: 1; min-width: 0; padding: 10px; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.updates-copy h3 { margin-top: 35px; font-size: 32px; line-height: 32px; font-weight: 700; text-transform: uppercase; color: var(--navy); }
.updates-text { margin-top: 20px; padding: 0 80px 21px; font-size: 18px; line-height: 21.6px; }
.updates-text p + p { margin-top: 18px; }
.updates-map { flex: 0 0 563px; min-width: 0; padding: 10px; }
.map-frame { position: relative; width: 543px; max-width: 100%; }
.map-frame > img { display: block; width: 100%; height: auto; }
.pin {
  position: absolute; display: flex; align-items: center; justify-content: center; height: 33px;
  padding: 0 10px; border-radius: 84px; background: #757575; color: #fff; text-align: center;
  font-size: 13px; line-height: 13px; transform: translate(-50%, -50%); transition: background 0.2s;
}
.pin:hover { background: var(--navy); }
.pin-ma { left: 28.1%; top: 76.9%; width: 115px; }
.pin-nh { left: 32.1%; top: 64%; width: 127px; }
.pin-me { left: 53.1%; top: 50.9%; width: 61px; }
.pin-ct { left: 19.2%; top: 87%; width: 100px; }
.pin-fl { left: 91.2%; top: 81%; width: 66px; }
.pin-ri { left: 37.1%; top: 89%; width: 63px; }
.pin-vt { left: 17%; top: 52.9%; width: 77px; }
.cares { position: relative; height: 643px; display: flex; align-items: center; justify-content: center; padding: 60px 20px; background: var(--navy); }
.cares-bg { position: absolute; inset: 0; background: 73% 47% / auto 140% no-repeat; }
.cares-wash { position: absolute; inset: 0; opacity: 0.84; background: linear-gradient(271deg, rgba(255, 255, 255, 0.69) 40%, #fff 62%); }
.cares-grid { position: relative; display: flex; align-items: center; width: 1140px; max-width: 100%; }
.cares-card {
  flex: 1 1 50%; padding: 30px; border-radius: 28px; background: rgba(255, 255, 255, 0.64);
  box-shadow: rgba(0, 0, 0, 0.2) 0 0 20px; text-align: right;
}
.cares-card h2 { font-size: 32px; line-height: 32px; font-weight: 300; margin-bottom: 20px; }
.cares-card p { margin-bottom: 36px; line-height: 25.5px; }
.cares-logo { flex: 1 1 50%; padding: 30px; text-align: center; }
.cares-logo img { display: block; width: 70%; height: auto; margin: 0 auto; }
.contact {
  position: relative; padding: 24px 15px 71px;
  background: #000 50% 50% / cover no-repeat fixed;
}
.contact::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.35); }
.contact-inner { position: relative; width: 1062px; max-width: 100%; margin: 0 auto; padding: 10px; }
.contact h2 { margin-bottom: 20px; text-align: center; font-size: 36px; line-height: 36px; font-weight: 700; color: #fff; text-shadow: rgba(0, 0, 0, 0.3) 0 0 20px; }
.contact-form { display: flex; flex-wrap: wrap; align-items: flex-start; width: 1012px; max-width: 100%; margin: 0 auto; padding: 10px 0 11px; }
.field { min-height: 75px; padding: 4px 8px 0; width: 269px; max-width: 100%; }
.field label { display: block; padding-bottom: 4.5px; color: #fff; font-size: 17px; line-height: 25.5px; }
.field .req { color: #e0242a; }
.field input[type="text"], .field input[type="tel"], .field input[type="email"] {
  display: block; width: 100%; height: 38px; margin-top: -1px; padding: 5px 10px;
  border: 1px solid var(--field-border); border-radius: 88px; background: var(--field-bg);
  font: 400 17px/25.5px var(--font); color: #666;
}
.field input::placeholder { color: #777; }
.field select {
  display: block; width: 165px; height: 46px; padding: 11px; border: 1px solid var(--field-border); border-radius: 88px;
  background: var(--field-bg); font: 400 17px var(--font); color: #666;
}
.f-email { width: 300px; }
.f-state { width: 216px; min-height: 84px; }
.f-intent { width: 239px; min-height: 84px; }
.f-optin { width: 493px; min-height: 120px; color: #fff; line-height: 25.5px; }
.f-optin .optin-text { width: 477px; max-width: 100%; }
.f-optin a { color: var(--link); }
.optin-check { display: block; margin-top: 8px; color: #fff; }
.optin-check input { margin: 0 4px 0 0; width: 13px; height: 13px; vertical-align: 0; }
.captcha-block { flex: 0 0 100%; padding: 27px 2px 0; }
.captcha-box {
  position: relative; width: 304px; height: 78px; margin-left: 2px; display: flex; align-items: center; gap: 12px; padding-left: 12px;
  background: #f9f9f9; border: 1px solid #d3d3d3; border-radius: 3px; box-shadow: rgba(0, 0, 0, 0.08) 0 0 4px 1px;
  font: 400 14px Roboto, Helvetica, Arial, sans-serif; color: #000;
}
.captcha-check { width: 28px; height: 28px; border: 2px solid #c1c1c1; border-radius: 2px; background: #fff; }
.captcha-brand { position: absolute; right: 12px; bottom: 9px; font-size: 8px; color: #555; }
.captcha-note { padding: 0 8px; opacity: 0.75; font-size: 14.45px; line-height: 25.5px; color: #000; }
.captcha-box + .captcha-note { margin-top: 38px; }
.captcha-note + .captcha-note { margin-top: 11px; }
.submit {
  display: block; margin: 16px 0 0; height: 48px; padding: 8px 28px; border: 0; border-radius: 50px;
  background: var(--navy); color: #fff; font: 400 17px/31.57px var(--font); cursor: pointer;
}
.submit:hover { background: #005683; }
.contact-form > .submit { flex: 0 0 auto; }
.footer-nav { padding: 30px 0 8px; }
.footer-nav-grid { display: grid; grid-template-columns: 454px 485px 315px; width: 1254px; max-width: 100%; margin: 0 0 0 calc(50% - 630px); }
.fn-links { padding-top: 49px; }
.fn-primary { display: flex; margin: 0; font-size: 17px; line-height: 17px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; }
.fn-primary a { flex: 0 0 151px; padding: 10px; color: var(--teal-text); }
.fn-primary a:nth-child(1) { text-align: right; }
.fn-primary a:nth-child(2) { text-align: center; }
.fn-secondary { display: flex; flex-wrap: wrap; justify-content: center; padding: 10px 0; }
.fn-secondary li { padding: 0 16px; line-height: 26px; }
.fn-secondary li + li { border-left: 1px solid #ddd; }
.fn-secondary a { color: #000; }
.fn-search { padding: 30px; }
.fn-search h3 { text-align: center; font-size: 17px; line-height: 17px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--teal-text); }
.fn-search form { display: flex; gap: 8px; margin-top: 20px; }
.fn-search input {
  flex: 1; min-width: 0; height: 74px; padding: 16px 28px 16px 16px; border: 1px solid #cdcdcd; background: var(--field-bg);
  font: 400 17px/25.5px var(--font); color: #515962;
}
.fn-search input::placeholder { color: #515962; }
.fn-search button { flex: 0 0 106px; height: 74px; padding: 24px; border: 0; background: var(--charcoal); color: #fff; font: 400 17px/25.5px var(--font); cursor: pointer; }
.fn-search button:hover { background: #000; }
.fn-logo { padding: 63px 30px 0; text-align: center; }
.fn-logo img { display: block; width: 150px; height: auto; margin: 0 auto; }
.footer-social { display: flex; justify-content: center; align-items: flex-start; height: 68px; padding-top: 20px; }
.social { display: flex; justify-content: center; gap: 18px; width: 220px; padding: 0 10px; }
.social a { display: block; width: 28px; height: 28px; font-size: 28px; line-height: 28px; text-align: center; color: var(--navy); }
.social .fab { width: 28px; font-size: 28px; line-height: 28px; }
.social a:hover { color: var(--cyan); }
.legal-links { display: flex; justify-content: center; width: 408px; padding: 0 10px; }
.legal-links li { white-space: nowrap; padding: 0 12px; font-size: 14px; font-weight: 500; line-height: 25.5px; }
.legal-links li + li { border-left: 1px solid #ddd; }
.legal-links a { color: #000; }
.legal-links a:hover { color: var(--navy); }
.legal { width: 991px; max-width: 100%; margin: 0 auto; padding: 20px 0; text-align: center; font-size: 13px; line-height: 21px; }
.idx { padding: 14px 10px 25px; text-align: center; }
.idx > img { display: block; margin: 0 auto; width: 101px; max-width: 9%; height: auto; }
.idx p { font-size: 9px; line-height: 21px; }
.idx-copy { margin-top: 21px; }
.idx-disclaimer { width: 1061px; max-width: 100%; margin: 0 auto; }
@media (min-width: 1025px) {
.f-intent { margin-top: 50px; }
.f-optin { margin-top: -1px; }
}
@media (max-width: 1024px) {
.home-value { padding-top: 102px; }
.home-value-grid { width: calc(100% - 20px); }
.hv-monitor { width: 179px; }
.hv-form button { flex-basis: 141px; }
.relocation { height: 470px; margin-top: 20px; }
.relocation-grid { width: 100%; grid-template-columns: 55.21% 44.79%; }
.relocation-copy { padding-top: 0; background-position: 0 0; }
.relocation-copy h2 { padding: 0; }
.relocation-copy p { padding: 0 2px; }
.relocation-media { align-self: end; padding: 55px; }
.relocation-media img { max-width: none; }
.florida-bg { background-position: 0 0; }
.florida-inner { width: 100%; }
.housing { padding-top: 50px; }
.housing-grid { width: 100%; height: 504px; }
.housing-media { flex-basis: 264px; }
.updates { height: 669px; padding-top: 91px; }
.updates-grid { width: calc(100% - 20px); height: auto; top: 0; }
.updates-copy h3 { font-size: 25px; line-height: 25px; }
.updates-map { flex-basis: 320px; }
.cares-grid { width: 100%; }
.legal { padding: 20px; }
.idx-copy { margin-top: 28px; }
.contact { padding: 30px 20px; background-attachment: scroll; }
.contact-inner { width: 100%; }
.contact-form { width: 100%; padding: 10px 15px 11px; }
.footer-nav { padding-bottom: 7px; }
.footer-nav-grid { width: 100%; margin: 0; grid-template-columns: 262px 280px minmax(0, 1fr); padding: 0 20px; }
.fn-links { padding-top: 36px; }
.fn-primary a { flex-basis: 87.3px; }
.fn-secondary { width: 262px; margin: 0 auto; padding-top: 7px; }
.fn-secondary li:nth-child(3) { border-left: 0; }
.fn-search form { width: 401px; }
.fn-logo { padding: 70px 30px 0 40px; position: relative; }
.fn-logo img { width: 102px; margin: 0; }
}
@media (max-width: 767px) {
.home-value { height: auto; padding-top: 23px; }
.home-value-grid { display: block; width: 100%; }
.hv-estimate { box-shadow: none; padding: 30px 30px 0; }
.hv-monitor { width: 180px; }
.hv-luxury { padding: 31px 0 0; }
.relocation { height: auto; margin-top: 0; }
.relocation-grid { display: block; }
.relocation-copy { min-height: 426px; background-position: 31px 317px; }
.relocation-copy h2 { margin-bottom: 4px; }
.relocation-copy p { padding: 0 16px 0 17px; }
.relocation-media { padding: 22px 0 0; }
.relocation-media img { width: 100%; }
.florida { height: auto; display: block; padding: 67px 10px 69px; }
.florida-bg { background-position: 0 0; }
.florida-map { left: 3px; top: -4px; width: 375px; height: 375px; }
.florida-inner { padding: 0; }
.florida-cols { display: block; width: 100%; margin-top: 41px; }
.florida-col { padding: 10px 0; }
.housing { height: auto; padding: 12px 0 20px; margin-top: 0; }
.housing-grid { display: block; height: auto; }
.housing-media { padding: 0; }
.housing-copy { padding: 20px 10px 0; }
.housing h2 { text-align: center; }
.housing .read-label { margin: 61px 0 35.5px; }
.updates { height: auto; padding: 0 0 45px; }
.updates-grid { display: block; width: 100%; height: auto; padding: 20px 20px 0; }
.updates-copy { padding: 0; }
.updates-copy h3 { font-size: 22px; line-height: 22px; margin-top: 0; }
.updates-text { margin-top: 5px; padding: 0 15px 51px; }
.updates-map { padding: 0; }
.cares { height: auto; display: block; padding: 60px 20px 61px; }
.cares-grid { display: block; }
.contact { padding: 75px 0 220px; }
.contact-inner { padding: 10px 0; }
.contact h2 { margin-bottom: 15px; }
.contact-form { width: 365px; padding: 10px 0 11px; }
.field, .f-email, .f-state, .f-intent, .f-optin { flex: 0 0 100%; width: 100%; }
.field input[type="text"], .field input[type="tel"], .field input[type="email"] { width: 253px; max-width: 100%; }
.f-email input { width: 284px; }
.f-optin { min-height: 0; }
.footer-nav { padding: 0 20px 20px; }
.footer-nav-grid { display: block; padding: 0; }
.fn-links { padding-top: 10px; }
.fn-primary { display: block; }
.fn-primary a { display: block; width: 100%; padding: 10px; text-align: center; }
.fn-primary a:nth-child(1) { text-align: center; }
.fn-secondary { width: 335px; }
.fn-secondary li:nth-child(3) { border-left: 1px solid #ddd; }
.fn-secondary li:nth-child(4) { border-left: 0; }
.fn-search { padding: 31px 0 10px; }
.fn-search form { width: auto; }
.fn-logo { padding: 50px 0 0; }
.fn-logo img { width: 150px; margin: 0 auto; }
.footer-social { flex-direction: column; align-items: center; height: auto; padding: 37px 10px 20px; }
.legal-links { flex-wrap: wrap; width: 100%; margin-top: 20px; }
.legal-links li:nth-child(3) { border-left: 0; width: 100%; text-align: center; }
.legal { padding: 20px; }
.idx { padding: 20px 10px 25px; }
}
/* State tiles load immediately - near top of page */
.tile-ct { --tile-img: url("../images/state-connecticut.webp"); }
.tile-fl { --tile-img: url("../images/state-florida.webp"); }
.tile-me { --tile-img: url("../images/state-maine.webp"); }
.tile-ma { --tile-img: url("../images/state-massachusetts.webp"); }
.tile-nh { --tile-img: url("../images/state-new-hampshire.webp"); }
.tile-ri { --tile-img: url("../images/state-rhode-island.webp"); }
.tile-vt { --tile-img: url("../images/state-vermont.webp"); }
.tile-lre { --tile-img: url("../images/state-leading-re.webp"); }
html:not(.js) .relocation-copy, .relocation-copy.bg-in { background-image: url("../images/leading-re-globe.webp"); }
html:not(.js) .florida-bg, .florida-bg.bg-in { background-image: url("../images/florida-beach.webp"); }
html:not(.js) .cares-bg, .cares-bg.bg-in { background-image: url("../images/cares-hands.webp"); }
html:not(.js) .housing::before, .housing.bg-in::before {
  background: linear-gradient(rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.45)), #fff url("../images/section-swoosh.webp") 50% 100% / cover no-repeat;
}
html:not(.js) .contact, .contact.bg-in { background-image: url("../images/contact-kitchen.webp"); }

/* VoltEdge form success state */
.volt-success {
  background: #e8f5e9;
  border: 2px solid #4caf50;
  border-radius: 8px;
  padding: 20px 24px;
  text-align: center;
  color: #2e7d32;
  font-size: 18px;
  margin-bottom: 16px;
}
.volt-success strong { display: block; }

