/*
Theme Name: Homirx Child
Theme URI: https://gaviaspreview.com/wp/homirx/
Author URI: https://themeforest.net/user/gavias
Author: Gaviasthemes Team
Description: Child theme for the Homirx theme.
Template: homirx
*/

.mobile-title {
   display: none;
}

.big-title-2 {
   line-height: 1.15;
}

.hero-subtitle {
   margin-top: 12px;
   font-size: 16px;
   line-height: 1.5;
}

@media (max-width: 767px) {
   .desktop-title {
      display: none;
   }

   .mobile-title {
      display: inline;
   }

   .jp-hero-title {
      font-size: 30px;
      line-height: 1.18;
   }

   .big-title-2 {
      font-size: 34px;
      line-height: 1.18;
   }

   .hero-subtitle {
      font-size: 14px;
      line-height: 1.5;
      max-width: 280px;
      margin: 12px auto 0;
      padding: 0 16px;
   }
}

body.page-id-656 .wpforms-container {
   margin: 0;
}

body.page-id-656 .wpforms-form .wpforms-field {
   padding: 0 0 22px 0;
}

body.page-id-656 .wpforms-form .wpforms-field-label {
   font-size: 12px !important;
   font-weight: 700 !important;
   text-transform: uppercase !important;
   letter-spacing: 0.08em !important;
   color: #9ca3af !important;
   margin-bottom: 8px !important;
}

body.page-id-656 .wpforms-form input,
body.page-id-656 .wpforms-form textarea,
body.page-id-656 .wpforms-form select {
   width: 100% !important;
   max-width: 100% !important;
   min-height: 52px !important;
   background-color: #f9fafb !important;
   border: 1px solid #e5e7eb !important;
   border-radius: 12px !important;
   color: #1a1a1a !important;
   padding: 14px 16px !important;
   box-shadow: none !important;
}

body.page-id-656 .wpforms-form select {
   -webkit-appearance: none !important;
   -moz-appearance: none !important;
   appearance: none !important;
   background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
   background-repeat: no-repeat !important;
   background-position: right 18px center !important;
   background-size: 18px 18px !important;
   padding-right: 52px !important;
}

body.page-id-656 .wpforms-form textarea {
   min-height: 150px !important;
}

body.page-id-656 .wpforms-form input:focus,
body.page-id-656 .wpforms-form textarea:focus,
body.page-id-656 .wpforms-form select:focus {
   border-color: #d4af37 !important;
   background-color: #ffffff !important;
   box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.12) !important;
   outline: none !important;
}

body.page-id-656 .wpforms-form button[type="submit"] {
   width: 100% !important;
   background-color: #0a0a0a !important;
   color: #d4af37 !important;
   border: 1px solid rgba(212, 175, 55, 0.35) !important;
   border-radius: 14px !important;
   padding: 18px 24px !important;
   font-size: 14px !important;
   font-weight: 700 !important;
   letter-spacing: 0.12em !important;
   text-transform: uppercase !important;
}

body.page-id-656 .wpforms-form button[type="submit"]:hover {
   background-color: #1a1a1a !important;
}

body.page-id-27 .elementor-element-6658b05c {
   grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
   max-width: 980px !important;
   margin-left: auto !important;
   margin-right: auto !important;
   justify-content: center !important;
}

body.page-id-27 .elementor-element-6658b05c > .e-con {
   width: 100% !important;
}

body.page-id-27 .elementor-element-63c9446 {
   width: 100% !important;
   max-width: 820px !important;
   margin-left: auto !important;
   margin-right: auto !important;
   text-align: center !important;
}

body.page-id-27 .elementor-element-63c9446,
body.page-id-27 .elementor-element-63c9446 .elementor-widget-container,
body.page-id-27 .elementor-element-63c9446 p {
   text-align: center !important;
}

@media (max-width: 900px) {
   body.page-id-27 .elementor-element-6658b05c {
      grid-template-columns: 1fr !important;
      max-width: 560px !important;
   }
}

.jp-whatsapp-float {
   position: fixed;
   right: 22px;
   bottom: 22px;
   z-index: 9999;
   display: inline-flex;
   align-items: center;
   gap: 9px;
   min-height: 56px;
   padding: 0 20px 0 16px;
   border-radius: 999px;
   background: #25d366;
   color: #fff;
   font-size: 15px;
   font-weight: 700;
   line-height: 1;
   text-decoration: none;
   box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
   transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.jp-whatsapp-float:hover,
.jp-whatsapp-float:focus {
   color: #fff;
   background: #1fb857;
   text-decoration: none;
   transform: translateY(-2px);
   box-shadow: 0 16px 34px rgba(0, 0, 0, 0.26);
}

.jp-whatsapp-float:focus-visible {
   outline: 3px solid rgba(37, 211, 102, 0.35);
   outline-offset: 4px;
}

.jp-whatsapp-float__icon {
   width: 28px;
   height: 28px;
   flex: 0 0 auto;
   fill: currentColor;
}

@media (max-width: 575px) {
   .jp-whatsapp-float {
      right: 16px;
      bottom: 16px;
      width: 56px;
      min-height: 56px;
      justify-content: center;
      padding: 0;
      border-radius: 50%;
   }

   .jp-whatsapp-float__text {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
   }
}

.jp-site-footer {
   background: #050505;
   color: #d7d7d7;
   overflow: hidden;
}

.jp-footer-contact {
   background: #050505;
   padding: 32px 0 16px;
}

.jp-footer-contact__inner {
   align-items: center;
   background: #d1aa57;
   border-radius: 8px;
   display: grid;
   gap: 20px;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   padding: 26px 30px;
}

.jp-footer-contact__item {
   align-items: center;
   color: #ffffff;
   display: flex;
   gap: 16px;
   min-width: 0;
   text-decoration: none;
}

.jp-footer-contact__item:hover,
.jp-footer-contact__item:focus {
   color: #ffffff;
   text-decoration: none;
}

.jp-footer-contact__icon {
   align-items: center;
   background: #ffffff;
   border-radius: 50%;
   color: #e85d32;
   display: inline-flex;
   flex: 0 0 46px;
   height: 46px;
   justify-content: center;
   width: 46px;
}

.jp-footer-contact__copy {
   display: flex;
   flex-direction: column;
   gap: 4px;
   min-width: 0;
}

.jp-footer-contact__copy span {
   color: rgba(255, 255, 255, 0.88);
   font-size: 12px;
   font-weight: 700;
   line-height: 1.2;
}

.jp-footer-contact__copy strong {
   color: #ffffff;
   font-size: 17px;
   font-weight: 800;
   line-height: 1.3;
   overflow-wrap: anywhere;
}

.jp-footer-main {
   background: #050505;
   padding: 34px 0 0;
}

.jp-footer-grid {
   display: grid;
   gap: 36px;
   grid-template-columns: minmax(220px, 1.18fr) repeat(3, minmax(160px, 1fr));
   padding-bottom: 42px;
}

.jp-footer-brand p {
   color: #cfcfcf;
   font-size: 15px;
   font-weight: 500;
   line-height: 1.75;
   margin: 20px 0 22px;
   max-width: 380px;
}

.jp-footer-logo {
   display: inline-block;
}

.jp-footer-logo img {
   display: block;
   height: auto;
   max-width: 170px;
}

.jp-footer-social {
   align-items: center;
   display: flex;
   gap: 12px;
}

.jp-footer-social a {
   align-items: center;
   border: 1px solid rgba(255, 255, 255, 0.18);
   border-radius: 50%;
   color: #ffffff;
   display: inline-flex;
   height: 38px;
   justify-content: center;
   text-decoration: none;
   transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
   width: 38px;
}

.jp-footer-social a:hover,
.jp-footer-social a:focus {
   background: #d1aa57;
   border-color: #d1aa57;
   color: #050505;
   text-decoration: none;
}

.jp-footer-nav h2 {
   color: #ffffff;
   font-size: 16px;
   font-weight: 800;
   line-height: 1.3;
   margin: 0 0 20px;
   padding-bottom: 12px;
   position: relative;
}

.jp-footer-nav h2::after {
   background: #e85d32;
   bottom: 0;
   content: "";
   height: 2px;
   left: 0;
   position: absolute;
   width: 42px;
}

.jp-footer-nav ul {
   list-style: none;
   margin: 0;
   padding: 0;
}

.jp-footer-nav li + li {
   margin-top: 11px;
}

.jp-footer-nav a {
   align-items: flex-start;
   color: #cfcfcf;
   display: inline-flex;
   font-size: 14px;
   font-weight: 700;
   gap: 10px;
   line-height: 1.45;
   text-decoration: none;
   transition: color 180ms ease, transform 180ms ease;
}

.jp-footer-nav a::before {
   color: #d1aa57;
   content: "\f054";
   flex: 0 0 auto;
   font-family: "Font Awesome 5 Free";
   font-size: 11px;
   font-weight: 900;
   line-height: 1.85;
}

.jp-footer-nav a:hover,
.jp-footer-nav a:focus {
   color: #ffffff;
   text-decoration: none;
   transform: translateX(2px);
}

.jp-footer-bottom {
   align-items: center;
   border-top: 1px solid rgba(255, 255, 255, 0.14);
   display: flex;
   gap: 24px;
   justify-content: space-between;
   padding: 22px 0;
}

.jp-footer-bottom p {
   color: #cfcfcf;
   font-size: 14px;
   font-weight: 700;
   line-height: 1.5;
   margin: 0;
}

.jp-footer-legal {
   align-items: center;
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
}

.jp-footer-legal a {
   color: #cfcfcf;
   font-size: 14px;
   font-weight: 700;
   text-decoration: none;
}

.jp-footer-legal a:hover,
.jp-footer-legal a:focus {
   color: #ffffff;
   text-decoration: none;
}

/* Main navigation property type dropdown */
ul.gva-nav-menu > li.menu-item-has-children > .submenu-inner,
ul.gva-nav-menu > li.has-sub > .submenu-inner {
   min-width: 240px !important;
   padding: 10px 0 !important;
   border: 1px solid rgba(214, 178, 94, 0.22) !important;
   border-radius: 8px !important;
   background: #080808 !important;
   box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28) !important;
}

ul.gva-nav-menu > li.menu-item-has-children > .submenu-inner::after,
ul.gva-nav-menu > li.has-sub > .submenu-inner::after {
   border-bottom-color: #080808;
}

ul.gva-nav-menu > li .submenu-inner li.jp-all-listings-child {
   border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

ul.gva-nav-menu > li .submenu-inner li.jp-all-listings-child:last-child {
   border-bottom: 0;
}

ul.gva-nav-menu > li .submenu-inner li.jp-all-listings-child a {
   display: block !important;
   padding: 11px 18px !important;
   color: rgba(255, 255, 255, 0.82) !important;
   font-size: 14px !important;
   font-weight: 700 !important;
   line-height: 1.25 !important;
   text-decoration: none !important;
   white-space: nowrap !important;
}

ul.gva-nav-menu > li .submenu-inner li.jp-all-listings-child a:hover,
ul.gva-nav-menu > li .submenu-inner li.jp-all-listings-child a:focus {
   background: rgba(214, 178, 94, 0.12) !important;
   color: #d6b25e !important;
   text-decoration: none !important;
}

@media (max-width: 991px) {
   .jp-footer-contact__inner {
      grid-template-columns: 1fr;
      padding: 26px;
   }

   .jp-footer-grid {
      gap: 36px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 767px) {
   .jp-footer-contact {
      padding: 28px 0 14px;
   }

   .jp-footer-contact__inner {
      gap: 18px;
      padding: 22px;
   }

   .jp-footer-contact__copy strong {
      font-size: 16px;
   }

   .jp-footer-main {
      padding-top: 28px;
   }

   .jp-footer-grid {
      grid-template-columns: 1fr;
      gap: 30px;
      padding-bottom: 34px;
   }

   .jp-footer-bottom {
      align-items: flex-start;
      flex-direction: column;
   }
}

.jp-tax-archive-page {
   background: #f7f8fb;
}

.jp-tax-hero {
   min-height: 520px;
   position: relative;
   display: flex;
   align-items: center;
   background-position: center;
   background-size: cover;
   color: #ffffff;
   overflow: hidden;
}

.jp-tax-hero__overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.52) 46%, rgba(0, 0, 0, 0.18) 100%);
}

.jp-tax-hero .container {
   position: relative;
   z-index: 1;
}

.jp-tax-hero__content {
   max-width: 760px;
   padding: 96px 0 86px;
}

.jp-tax-breadcrumb {
   display: flex;
   flex-wrap: wrap;
   gap: 9px;
   margin-bottom: 22px;
   color: rgba(255, 255, 255, 0.78);
   font-size: 13px;
   font-weight: 700;
}

.jp-tax-breadcrumb a {
   color: rgba(255, 255, 255, 0.86);
   text-decoration: none;
}

.jp-tax-breadcrumb a:hover,
.jp-tax-breadcrumb a:focus {
   color: #ffffff;
   text-decoration: none;
}

.jp-tax-eyebrow,
.jp-tax-kicker {
   color: #d1aa57;
   display: block;
   font-size: 13px;
   font-weight: 800;
   letter-spacing: 0.08em;
   line-height: 1.4;
   margin-bottom: 12px;
   text-transform: uppercase;
}

.jp-tax-hero h1 {
   color: #ffffff;
   font-size: clamp(42px, 6vw, 76px);
   font-weight: 800;
   letter-spacing: 0;
   line-height: 1.02;
   margin: 0 0 22px;
   max-width: 760px;
}

.jp-tax-hero p {
   color: rgba(255, 255, 255, 0.9);
   font-size: 19px;
   font-weight: 600;
   line-height: 1.7;
   margin: 0;
   max-width: 680px;
}

.jp-tax-hero__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 14px;
   margin-top: 34px;
}

.jp-tax-btn {
   align-items: center;
   border-radius: 8px;
   display: inline-flex;
   font-size: 14px;
   font-weight: 800;
   justify-content: center;
   line-height: 1.2;
   min-height: 48px;
   padding: 14px 20px;
   text-decoration: none;
}

.jp-tax-btn:hover,
.jp-tax-btn:focus {
   text-decoration: none;
}

.jp-tax-btn--primary {
   background: #d1aa57;
   color: #060606;
}

.jp-tax-btn--primary:hover,
.jp-tax-btn--primary:focus {
   background: #e2be68;
   color: #060606;
}

.jp-tax-btn--ghost {
   border: 1px solid rgba(255, 255, 255, 0.36);
   color: #ffffff;
}

.jp-tax-btn--ghost:hover,
.jp-tax-btn--ghost:focus {
   background: rgba(255, 255, 255, 0.12);
   color: #ffffff;
}

.jp-tax-content-wrap {
   padding: 70px 0 76px;
}

.jp-tax-intro {
   display: grid;
   grid-template-columns: minmax(240px, 0.85fr) minmax(0, 1.15fr);
   gap: 48px;
   margin-bottom: 34px;
}

.jp-tax-intro h2,
.jp-tax-faq h2 {
   color: #16243e;
   font-size: 32px;
   font-weight: 800;
   line-height: 1.18;
   margin: 0;
}

.jp-tax-intro__copy p,
.jp-tax-faq p {
   color: #4b5563;
   font-size: 16px;
   font-weight: 500;
   line-height: 1.85;
   margin: 0;
}

.jp-tax-intro__copy p + p {
   margin-top: 18px;
}

.jp-tax-related {
   align-items: flex-start;
   border-top: 1px solid #e5e7eb;
   border-bottom: 1px solid #e5e7eb;
   display: flex;
   gap: 24px;
   justify-content: space-between;
   margin: 42px 0 50px;
   padding: 22px 0;
}

.jp-tax-related span {
   color: #16243e;
   flex: 0 0 auto;
   font-size: 14px;
   font-weight: 800;
   line-height: 1.5;
}

.jp-tax-related div {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   justify-content: flex-end;
}

.jp-tax-related a {
   background: #ffffff;
   border: 1px solid #e5e7eb;
   border-radius: 8px;
   color: #16243e;
   font-size: 13px;
   font-weight: 800;
   line-height: 1.2;
   padding: 10px 13px;
   text-decoration: none;
}

.jp-tax-related a:hover,
.jp-tax-related a:focus {
   border-color: #d1aa57;
   color: #16243e;
   text-decoration: none;
}

.jp-tax-listings {
   margin: 0 auto;
   max-width: none;
   padding: 0;
}

.jp-tax-pagination {
   margin-top: 36px;
}

.jp-tax-pagination ul {
   align-items: center;
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   justify-content: center;
   list-style: none;
   margin: 0;
   padding: 0;
}

.jp-tax-pagination a,
.jp-tax-pagination span {
   align-items: center;
   background: #ffffff;
   border: 1px solid #e5e7eb;
   border-radius: 8px;
   color: #16243e;
   display: inline-flex;
   font-size: 14px;
   font-weight: 800;
   justify-content: center;
   min-height: 42px;
   min-width: 42px;
   padding: 10px 14px;
   text-decoration: none;
}

.jp-tax-pagination .current {
   background: #d1aa57;
   border-color: #d1aa57;
   color: #060606;
}

.jp-tax-faq {
   border-top: 1px solid #e5e7eb;
   margin-top: 62px;
   padding-top: 48px;
}

.jp-tax-faq__grid {
   display: grid;
   gap: 28px;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   margin-top: 28px;
}

.jp-tax-faq__grid > div {
   background: #ffffff;
   border: 1px solid #e5e7eb;
   border-radius: 8px;
   padding: 26px;
}

.jp-tax-faq h3 {
   color: #16243e;
   font-size: 18px;
   font-weight: 800;
   line-height: 1.35;
   margin: 0 0 12px;
}

@media (max-width: 991px) {
   .jp-tax-hero {
      min-height: 460px;
   }

   .jp-tax-intro,
   .jp-tax-faq__grid {
      grid-template-columns: 1fr;
   }

   .jp-tax-related {
      display: block;
   }

   .jp-tax-related div {
      justify-content: flex-start;
      margin-top: 14px;
   }
}

@media (max-width: 767px) {
   .jp-tax-hero {
      min-height: 0;
   }

   .jp-tax-hero__overlay {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.74) 0%, rgba(0, 0, 0, 0.5) 100%);
   }

   .jp-tax-hero__content {
      padding: 74px 0 62px;
   }

   .jp-tax-hero h1 {
      font-size: 38px;
      line-height: 1.08;
   }

   .jp-tax-hero p {
      font-size: 16px;
      line-height: 1.65;
   }

   .jp-tax-hero__actions {
      align-items: stretch;
      flex-direction: column;
   }

   .jp-tax-btn {
      width: 100%;
   }

   .jp-tax-content-wrap {
      padding: 48px 0 56px;
   }

   .jp-tax-intro h2,
   .jp-tax-faq h2 {
      font-size: 26px;
   }
}

/* Property type landing pages */
body.tax-property_category #wp-content {
   background: #f5f7fb;
}

body.tax-property_category .jp-tax-archive-page {
   background: #f5f7fb;
}

body.tax-property_category .jp-tax-hero {
   min-height: 640px;
   position: relative;
   display: flex;
   align-items: center;
   background-position: center center;
   background-size: cover;
   color: #ffffff;
   isolation: isolate;
}

body.tax-property_category .jp-tax-hero::before {
   content: "";
   position: absolute;
   inset: 0;
   z-index: -2;
   background: inherit;
   transform: scale(1.01);
}

body.tax-property_category .jp-tax-hero__overlay {
   position: absolute;
   inset: 0;
   z-index: -1;
   background:
      linear-gradient(90deg, rgba(2, 7, 14, 0.82) 0%, rgba(2, 7, 14, 0.66) 42%, rgba(2, 7, 14, 0.25) 100%),
      linear-gradient(0deg, rgba(2, 7, 14, 0.34), rgba(2, 7, 14, 0.12));
}

body.tax-property_category .jp-tax-hero__content {
   max-width: 820px;
   padding: 104px 0 96px;
}

body.tax-property_category .jp-tax-breadcrumb {
   display: inline-flex;
   flex-wrap: wrap;
   gap: 9px;
   align-items: center;
   margin-bottom: 22px;
   padding: 9px 13px;
   border: 1px solid rgba(255, 255, 255, 0.18);
   border-radius: 999px;
   background: rgba(0, 0, 0, 0.22);
   color: rgba(255, 255, 255, 0.82);
   font-size: 13px;
   font-weight: 700;
   line-height: 1.2;
}

body.tax-property_category .jp-tax-breadcrumb a {
   color: rgba(255, 255, 255, 0.88);
   text-decoration: none;
}

body.tax-property_category .jp-tax-breadcrumb a:hover,
body.tax-property_category .jp-tax-breadcrumb a:focus {
   color: #ffffff;
   text-decoration: none;
}

body.tax-property_category .jp-tax-eyebrow,
body.tax-property_category .jp-tax-kicker {
   display: block;
   color: #d6b25e;
   font-size: 13px;
   font-weight: 800;
   letter-spacing: 0.08em;
   line-height: 1.4;
   margin-bottom: 14px;
   text-transform: uppercase;
}

body.tax-property_category .jp-tax-hero h1 {
   color: #ffffff;
   max-width: 820px;
   margin: 0 0 22px;
   font-size: clamp(46px, 6vw, 82px);
   font-weight: 800;
   letter-spacing: 0;
   line-height: 1.02;
   text-shadow: 0 3px 18px rgba(0, 0, 0, 0.36);
}

body.tax-property_category .jp-tax-hero p {
   max-width: 720px;
   margin: 0;
   color: rgba(255, 255, 255, 0.92);
   font-size: 20px;
   font-weight: 600;
   line-height: 1.72;
}

body.tax-property_category .jp-tax-hero__stats {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-top: 28px;
}

body.tax-property_category .jp-tax-hero__stats span {
   display: inline-flex;
   align-items: center;
   min-height: 42px;
   padding: 9px 13px;
   border: 1px solid rgba(255, 255, 255, 0.18);
   border-radius: 8px;
   background: rgba(0, 0, 0, 0.28);
   color: rgba(255, 255, 255, 0.88);
   font-size: 13px;
   font-weight: 700;
   line-height: 1.3;
}

body.tax-property_category .jp-tax-hero__stats strong {
   margin-right: 4px;
   color: #ffffff;
   font-weight: 800;
}

body.tax-property_category .jp-tax-hero__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 14px;
   margin-top: 34px;
}

body.tax-property_category .jp-tax-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 50px;
   padding: 14px 22px;
   border-radius: 8px;
   font-size: 14px;
   font-weight: 800;
   line-height: 1.2;
   text-decoration: none;
   transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

body.tax-property_category .jp-tax-btn:hover,
body.tax-property_category .jp-tax-btn:focus {
   text-decoration: none;
   transform: translateY(-1px);
}

body.tax-property_category .jp-tax-btn--primary {
   background: #d6b25e;
   color: #050505;
   border: 1px solid #d6b25e;
}

body.tax-property_category .jp-tax-btn--primary:hover,
body.tax-property_category .jp-tax-btn--primary:focus {
   background: #ecc870;
   border-color: #ecc870;
   color: #050505;
}

body.tax-property_category .jp-tax-btn--ghost {
   background: rgba(255, 255, 255, 0.08);
   color: #ffffff;
   border: 1px solid rgba(255, 255, 255, 0.34);
}

body.tax-property_category .jp-tax-btn--ghost:hover,
body.tax-property_category .jp-tax-btn--ghost:focus {
   background: rgba(255, 255, 255, 0.16);
   border-color: rgba(255, 255, 255, 0.58);
   color: #ffffff;
}

body.tax-property_category .jp-tax-content-wrap {
   padding: 76px 0 84px;
}

body.tax-property_category .jp-tax-intro {
   display: grid;
   grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
   gap: 52px;
   align-items: start;
   margin-bottom: 32px;
}

body.tax-property_category .jp-tax-intro h2,
body.tax-property_category .jp-tax-faq h2 {
   color: #16243e;
   margin: 0;
   font-size: 34px;
   font-weight: 800;
   line-height: 1.18;
}

body.tax-property_category .jp-tax-intro__copy p,
body.tax-property_category .jp-tax-faq p,
body.tax-property_category .jp-tax-insights p {
   color: #4b5563;
   margin: 0;
   font-size: 16px;
   font-weight: 500;
   line-height: 1.85;
}

body.tax-property_category .jp-tax-intro__copy p + p {
   margin-top: 18px;
}

body.tax-property_category .jp-tax-insights {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
   margin: 38px 0 48px;
}

body.tax-property_category .jp-tax-insights > div,
body.tax-property_category .jp-tax-faq__grid > div {
   background: #ffffff;
   border: 1px solid #e6e9ee;
   border-radius: 8px;
   box-shadow: 0 14px 38px rgba(15, 42, 69, 0.06);
}

body.tax-property_category .jp-tax-insights > div {
   padding: 24px;
}

body.tax-property_category .jp-tax-insights span {
   display: block;
   margin-bottom: 10px;
   color: #16243e;
   font-size: 15px;
   font-weight: 800;
}

body.tax-property_category .jp-tax-related {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 24px;
   margin: 0 0 58px;
   padding: 22px 0;
   border-top: 1px solid #e1e5eb;
   border-bottom: 1px solid #e1e5eb;
}

body.tax-property_category .jp-tax-related span {
   flex: 0 0 auto;
   color: #16243e;
   font-size: 14px;
   font-weight: 800;
   line-height: 1.5;
}

body.tax-property_category .jp-tax-related div {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   justify-content: flex-end;
}

body.tax-property_category .jp-tax-related a {
   display: inline-flex;
   align-items: center;
   min-height: 38px;
   padding: 9px 13px;
   background: #ffffff;
   border: 1px solid #e1e5eb;
   border-radius: 8px;
   color: #16243e;
   font-size: 13px;
   font-weight: 800;
   line-height: 1.2;
   text-decoration: none;
}

body.tax-property_category .jp-tax-related a:hover,
body.tax-property_category .jp-tax-related a:focus {
   border-color: #d6b25e;
   color: #16243e;
   text-decoration: none;
}

body.tax-property_category .jp-tax-listings {
   max-width: none;
   margin: 0;
   padding: 0;
}

body.tax-property_category .jp-tax-listings .pre-featured-head {
   margin-bottom: 30px;
}

body.tax-property_category .jp-tax-listings .pre-featured-heading {
   color: #16243e;
   font-size: 36px;
   font-weight: 800;
}

body.tax-property_category .jp-tax-faq {
   margin-top: 70px;
   padding-top: 52px;
   border-top: 1px solid #e1e5eb;
}

body.tax-property_category .jp-tax-faq__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 22px;
   margin-top: 28px;
}

body.tax-property_category .jp-tax-faq__grid > div {
   padding: 28px;
}

body.tax-property_category .jp-tax-faq h3 {
   color: #16243e;
   margin: 0 0 12px;
   font-size: 19px;
   font-weight: 800;
   line-height: 1.35;
}

body.tax-property_category .jp-tax-pagination {
   margin-top: 36px;
}

body.tax-property_category .jp-tax-pagination ul {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 8px;
   margin: 0;
   padding: 0;
   list-style: none;
}

body.tax-property_category .jp-tax-pagination a,
body.tax-property_category .jp-tax-pagination span {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 42px;
   min-height: 42px;
   padding: 10px 14px;
   background: #ffffff;
   border: 1px solid #e1e5eb;
   border-radius: 8px;
   color: #16243e;
   font-size: 14px;
   font-weight: 800;
   text-decoration: none;
}

body.tax-property_category .jp-tax-pagination .current {
   background: #d6b25e;
   border-color: #d6b25e;
   color: #050505;
}

@media (max-width: 991px) {
   body.tax-property_category .jp-tax-hero {
      min-height: 520px;
   }

   body.tax-property_category .jp-tax-intro,
   body.tax-property_category .jp-tax-insights,
   body.tax-property_category .jp-tax-faq__grid {
      grid-template-columns: 1fr;
   }

   body.tax-property_category .jp-tax-related {
      display: block;
   }

   body.tax-property_category .jp-tax-related div {
      justify-content: flex-start;
      margin-top: 14px;
   }
}

@media (max-width: 767px) {
   body.tax-property_category .jp-tax-hero {
      min-height: 0;
   }

   body.tax-property_category .jp-tax-hero__content {
      padding: 76px 0 64px;
   }

   body.tax-property_category .jp-tax-hero h1 {
      font-size: 38px;
      line-height: 1.08;
   }

   body.tax-property_category .jp-tax-hero p {
      font-size: 16px;
      line-height: 1.65;
   }

   body.tax-property_category .jp-tax-hero__actions {
      flex-direction: column;
   }

   body.tax-property_category .jp-tax-btn {
      width: 100%;
   }

   body.tax-property_category .jp-tax-content-wrap {
      padding: 48px 0 58px;
   }

   body.tax-property_category .jp-tax-intro h2,
   body.tax-property_category .jp-tax-faq h2,
   body.tax-property_category .jp-tax-listings .pre-featured-heading {
      font-size: 28px;
   }
}

/* Property location landing pages */
body.tax-property_location #wp-content,
body.tax-property_location .jp-tax-archive-page {
   background: #f5f7fb;
}

body.tax-property_location .jp-tax-hero {
   min-height: 640px;
   position: relative;
   display: flex;
   align-items: center;
   background-position: center center;
   background-size: cover;
   color: #ffffff;
   isolation: isolate;
}

body.tax-property_location .jp-tax-hero::before {
   content: "";
   position: absolute;
   inset: 0;
   z-index: -2;
   background: inherit;
   transform: scale(1.01);
}

body.tax-property_location .jp-tax-hero__overlay {
   position: absolute;
   inset: 0;
   z-index: -1;
   background:
      linear-gradient(90deg, rgba(2, 7, 14, 0.82) 0%, rgba(2, 7, 14, 0.66) 42%, rgba(2, 7, 14, 0.25) 100%),
      linear-gradient(0deg, rgba(2, 7, 14, 0.34), rgba(2, 7, 14, 0.12));
}

body.tax-property_location .jp-tax-hero__content {
   max-width: 820px;
   padding: 104px 0 96px;
}

body.tax-property_location .jp-tax-breadcrumb {
   display: inline-flex;
   flex-wrap: wrap;
   gap: 9px;
   align-items: center;
   margin-bottom: 22px;
   padding: 9px 13px;
   border: 1px solid rgba(255, 255, 255, 0.18);
   border-radius: 999px;
   background: rgba(0, 0, 0, 0.22);
   color: rgba(255, 255, 255, 0.82);
   font-size: 13px;
   font-weight: 700;
   line-height: 1.2;
}

body.tax-property_location .jp-tax-breadcrumb a {
   color: rgba(255, 255, 255, 0.88);
   text-decoration: none;
}

body.tax-property_location .jp-tax-breadcrumb a:hover,
body.tax-property_location .jp-tax-breadcrumb a:focus {
   color: #ffffff;
   text-decoration: none;
}

body.tax-property_location .jp-tax-eyebrow,
body.tax-property_location .jp-tax-kicker {
   display: block;
   color: #d6b25e;
   font-size: 13px;
   font-weight: 800;
   letter-spacing: 0.08em;
   line-height: 1.4;
   margin-bottom: 14px;
   text-transform: uppercase;
}

body.tax-property_location .jp-tax-hero h1 {
   color: #ffffff;
   max-width: 860px;
   margin: 0 0 22px;
   font-size: clamp(44px, 5.6vw, 78px);
   font-weight: 800;
   letter-spacing: 0;
   line-height: 1.02;
   text-shadow: 0 3px 18px rgba(0, 0, 0, 0.36);
}

body.tax-property_location .jp-tax-hero p {
   max-width: 720px;
   margin: 0;
   color: rgba(255, 255, 255, 0.92);
   font-size: 20px;
   font-weight: 600;
   line-height: 1.72;
}

body.tax-property_location .jp-tax-hero__stats {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-top: 28px;
}

body.tax-property_location .jp-tax-hero__stats span {
   display: inline-flex;
   align-items: center;
   min-height: 42px;
   padding: 9px 13px;
   border: 1px solid rgba(255, 255, 255, 0.18);
   border-radius: 8px;
   background: rgba(0, 0, 0, 0.28);
   color: rgba(255, 255, 255, 0.88);
   font-size: 13px;
   font-weight: 700;
   line-height: 1.3;
}

body.tax-property_location .jp-tax-hero__stats strong {
   margin-right: 4px;
   color: #ffffff;
   font-weight: 800;
}

body.tax-property_location .jp-tax-hero__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 14px;
   margin-top: 34px;
}

body.tax-property_location .jp-tax-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 50px;
   padding: 14px 22px;
   border-radius: 8px;
   font-size: 14px;
   font-weight: 800;
   line-height: 1.2;
   text-decoration: none;
   transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

body.tax-property_location .jp-tax-btn:hover,
body.tax-property_location .jp-tax-btn:focus {
   text-decoration: none;
   transform: translateY(-1px);
}

body.tax-property_location .jp-tax-btn--primary {
   background: #d6b25e;
   color: #050505;
   border: 1px solid #d6b25e;
}

body.tax-property_location .jp-tax-btn--primary:hover,
body.tax-property_location .jp-tax-btn--primary:focus {
   background: #ecc870;
   border-color: #ecc870;
   color: #050505;
}

body.tax-property_location .jp-tax-btn--ghost {
   background: rgba(255, 255, 255, 0.08);
   color: #ffffff;
   border: 1px solid rgba(255, 255, 255, 0.34);
}

body.tax-property_location .jp-tax-btn--ghost:hover,
body.tax-property_location .jp-tax-btn--ghost:focus {
   background: rgba(255, 255, 255, 0.16);
   border-color: rgba(255, 255, 255, 0.58);
   color: #ffffff;
}

body.tax-property_location .jp-tax-content-wrap {
   padding: 76px 0 84px;
}

body.tax-property_location .jp-tax-intro {
   display: grid;
   grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
   gap: 52px;
   align-items: start;
   margin-bottom: 32px;
}

body.tax-property_location .jp-tax-intro h2,
body.tax-property_location .jp-tax-faq h2 {
   color: #16243e;
   margin: 0;
   font-size: 34px;
   font-weight: 800;
   line-height: 1.18;
}

body.tax-property_location .jp-tax-intro__copy p,
body.tax-property_location .jp-tax-faq p,
body.tax-property_location .jp-tax-insights p {
   color: #4b5563;
   margin: 0;
   font-size: 16px;
   font-weight: 500;
   line-height: 1.85;
}

body.tax-property_location .jp-tax-intro__copy p + p {
   margin-top: 18px;
}

body.tax-property_location .jp-tax-insights {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
   margin: 38px 0 48px;
}

body.tax-property_location .jp-tax-insights > div,
body.tax-property_location .jp-tax-faq__grid > div {
   background: #ffffff;
   border: 1px solid #e6e9ee;
   border-radius: 8px;
   box-shadow: 0 14px 38px rgba(15, 42, 69, 0.06);
}

body.tax-property_location .jp-tax-insights > div {
   padding: 24px;
}

body.tax-property_location .jp-tax-insights span {
   display: block;
   margin-bottom: 10px;
   color: #16243e;
   font-size: 15px;
   font-weight: 800;
}

body.tax-property_location .jp-tax-related {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 24px;
   margin: 0 0 58px;
   padding: 22px 0;
   border-top: 1px solid #e1e5eb;
   border-bottom: 1px solid #e1e5eb;
}

body.tax-property_location .jp-tax-related span {
   flex: 0 0 auto;
   color: #16243e;
   font-size: 14px;
   font-weight: 800;
   line-height: 1.5;
}

body.tax-property_location .jp-tax-related div {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   justify-content: flex-end;
}

body.tax-property_location .jp-tax-related a {
   display: inline-flex;
   align-items: center;
   min-height: 38px;
   padding: 9px 13px;
   background: #ffffff;
   border: 1px solid #e1e5eb;
   border-radius: 8px;
   color: #16243e;
   font-size: 13px;
   font-weight: 800;
   line-height: 1.2;
   text-decoration: none;
}

body.tax-property_location .jp-tax-related a:hover,
body.tax-property_location .jp-tax-related a:focus {
   border-color: #d6b25e;
   color: #16243e;
   text-decoration: none;
}

body.tax-property_location .jp-tax-listings {
   max-width: none;
   margin: 0;
   padding: 0;
}

body.tax-property_location .jp-tax-listings .pre-featured-head {
   margin-bottom: 30px;
}

body.tax-property_location .jp-tax-listings .pre-featured-heading {
   color: #16243e;
   font-size: 36px;
   font-weight: 800;
}

body.tax-property_location .jp-tax-faq {
   margin-top: 70px;
   padding-top: 52px;
   border-top: 1px solid #e1e5eb;
}

body.tax-property_location .jp-tax-faq__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 22px;
   margin-top: 28px;
}

body.tax-property_location .jp-tax-faq__grid > div {
   padding: 28px;
}

body.tax-property_location .jp-tax-faq h3 {
   color: #16243e;
   margin: 0 0 12px;
   font-size: 19px;
   font-weight: 800;
   line-height: 1.35;
}

body.tax-property_location .jp-tax-pagination {
   margin-top: 36px;
}

body.tax-property_location .jp-tax-pagination ul {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 8px;
   margin: 0;
   padding: 0;
   list-style: none;
}

body.tax-property_location .jp-tax-pagination a,
body.tax-property_location .jp-tax-pagination span {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 42px;
   min-height: 42px;
   padding: 10px 14px;
   background: #ffffff;
   border: 1px solid #e1e5eb;
   border-radius: 8px;
   color: #16243e;
   font-size: 14px;
   font-weight: 800;
   text-decoration: none;
}

body.tax-property_location .jp-tax-pagination .current {
   background: #d6b25e;
   border-color: #d6b25e;
   color: #050505;
}

@media (max-width: 991px) {
   body.tax-property_location .jp-tax-hero {
      min-height: 520px;
   }

   body.tax-property_location .jp-tax-intro,
   body.tax-property_location .jp-tax-insights,
   body.tax-property_location .jp-tax-faq__grid {
      grid-template-columns: 1fr;
   }

   body.tax-property_location .jp-tax-related {
      display: block;
   }

   body.tax-property_location .jp-tax-related div {
      justify-content: flex-start;
      margin-top: 14px;
   }
}

@media (max-width: 767px) {
   body.tax-property_location .jp-tax-hero {
      min-height: 0;
   }

   body.tax-property_location .jp-tax-hero__content {
      padding: 76px 0 64px;
   }

   body.tax-property_location .jp-tax-hero h1 {
      font-size: 38px;
      line-height: 1.08;
   }

   body.tax-property_location .jp-tax-hero p {
      font-size: 16px;
      line-height: 1.65;
   }

   body.tax-property_location .jp-tax-hero__actions {
      flex-direction: column;
   }

   body.tax-property_location .jp-tax-btn {
      width: 100%;
   }

   body.tax-property_location .jp-tax-content-wrap {
      padding: 48px 0 58px;
   }

   body.tax-property_location .jp-tax-intro h2,
   body.tax-property_location .jp-tax-faq h2,
   body.tax-property_location .jp-tax-listings .pre-featured-heading {
      font-size: 28px;
   }
}

/* Landing page hero visual enhancement */
body.tax-property_category .jp-tax-hero::before,
body.tax-property_location .jp-tax-hero::before {
   filter: saturate(1.22) contrast(1.08) brightness(1.08);
}

body.tax-property_category .jp-tax-hero__overlay,
body.tax-property_location .jp-tax-hero__overlay {
   background:
      radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 34%),
      linear-gradient(90deg, rgba(2, 7, 14, 0.78) 0%, rgba(2, 7, 14, 0.55) 43%, rgba(2, 7, 14, 0.12) 100%),
      linear-gradient(0deg, rgba(2, 7, 14, 0.26), rgba(2, 7, 14, 0.04));
}

body.tax-property_category .jp-tax-hero::after,
body.tax-property_location .jp-tax-hero::after {
   content: "";
   position: absolute;
   inset: auto 0 0;
   z-index: -1;
   height: 32%;
   background: linear-gradient(0deg, rgba(6, 8, 12, 0.28), rgba(6, 8, 12, 0));
   pointer-events: none;
}

body.tax-property_category .jp-tax-hero h1,
body.tax-property_location .jp-tax-hero h1 {
   text-shadow: 0 4px 22px rgba(0, 0, 0, 0.42);
}

/* Belize real estate resources hub */
.jp-resources-page {
   background: #f5f7fb;
}

.jp-resources-hero {
   position: relative;
   min-height: 620px;
   display: flex;
   align-items: center;
   overflow: hidden;
   background-position: center;
   background-size: cover;
   color: #fff;
}

.jp-resources-hero__overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(90deg, rgba(3, 7, 14, .9) 0%, rgba(3, 7, 14, .72) 48%, rgba(3, 7, 14, .34) 100%);
}

.jp-resources-hero .container {
   position: relative;
   z-index: 2;
}

.jp-resources-hero__content {
   max-width: 760px;
   padding: 88px 0;
}

.jp-resources-breadcrumb {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   margin-bottom: 28px;
   padding: 10px 16px;
   border: 1px solid rgba(255, 255, 255, .22);
   border-radius: 999px;
   color: rgba(255, 255, 255, .78);
   font-size: 13px;
   font-weight: 800;
}

.jp-resources-breadcrumb a {
   color: #fff;
}

.jp-resources-eyebrow,
.jp-resources-kicker {
   display: inline-block;
   color: #d6b25e;
   font-size: 13px;
   font-weight: 900;
   letter-spacing: .14em;
   line-height: 1.3;
   text-transform: uppercase;
}

.jp-resources-hero h1 {
   margin: 18px 0 22px;
   color: #fff;
   font-size: clamp(44px, 5.2vw, 74px);
   font-weight: 900;
   line-height: 1;
}

.jp-resources-hero p {
   max-width: 650px;
   margin: 0;
   color: rgba(255, 255, 255, .86);
   font-size: 20px;
   font-weight: 600;
   line-height: 1.65;
}

.jp-resources-hero__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 14px;
   margin-top: 34px;
}

.jp-resources-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 52px;
   padding: 14px 22px;
   border: 1px solid rgba(6, 20, 43, .12);
   border-radius: 8px;
   background: #fff;
   color: #06142b;
   font-size: 14px;
   font-weight: 900;
   line-height: 1.2;
   text-decoration: none;
   transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.jp-resources-btn:hover,
.jp-resources-btn:focus {
   transform: translateY(-2px);
   text-decoration: none;
}

.jp-resources-btn--primary {
   border-color: #d6b25e;
   background: #d6b25e;
   color: #050505;
   box-shadow: 0 14px 34px rgba(214, 178, 94, .22);
}

.jp-resources-btn--primary:hover,
.jp-resources-btn--primary:focus {
   background: #efcf76;
   color: #050505;
}

.jp-resources-btn--ghost {
   border-color: rgba(255, 255, 255, .3);
   background: rgba(255, 255, 255, .08);
   color: #fff;
}

.jp-resources-btn--ghost:hover,
.jp-resources-btn--ghost:focus {
   background: rgba(255, 255, 255, .16);
   color: #fff;
}

.jp-resources-btn--small {
   min-height: 46px;
   background: #06142b;
   color: #fff;
}

.jp-resources-intro,
.jp-resources-topics,
.jp-resources-featured,
.jp-resources-latest,
.jp-resources-cta {
   padding: 82px 0;
}

.jp-resources-intro__grid {
   display: grid;
   grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
   gap: 56px;
   align-items: start;
}

.jp-resources-intro h2,
.jp-resources-section-head h2,
.jp-resources-featured h2,
.jp-resources-cta h2 {
   margin: 14px 0 0;
   color: #06142b;
   font-size: clamp(34px, 4vw, 54px);
   font-weight: 900;
   line-height: 1.05;
}

.jp-resources-intro p,
.jp-resources-topic-card p,
.jp-resources-featured p,
.jp-resources-post-card p,
.jp-resources-cta p {
   color: #566174;
   font-size: 17px;
   line-height: 1.8;
}

.jp-resources-topic-card p {
   margin-bottom: 20px;
}

.jp-resources-section-head {
   max-width: 780px;
   margin-bottom: 34px;
}

.jp-resources-section-head--split {
   max-width: none;
   display: flex;
   align-items: end;
   justify-content: space-between;
   gap: 24px;
}

.jp-resources-topic-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
}

.jp-resources-topic-card {
   min-height: 290px;
   padding: 28px 24px;
   display: flex;
   flex-direction: column;
   border: 1px solid rgba(6, 20, 43, .1);
   border-radius: 10px;
   background: #fff;
   box-shadow: 0 18px 48px rgba(15, 42, 69, .07);
   text-decoration: none;
   transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.jp-resources-topic-card:hover,
.jp-resources-topic-card:focus {
   border-color: #d6b25e;
   box-shadow: 0 22px 58px rgba(15, 42, 69, .12);
   transform: translateY(-3px);
   text-decoration: none;
}

.jp-resources-topic-card span,
.jp-resources-post-card__content span {
   color: #d6b25e;
   font-size: 12px;
   font-weight: 900;
   letter-spacing: .12em;
   line-height: 1.3;
   text-transform: uppercase;
}

.jp-resources-topic-card h3 {
   margin: 16px 0 14px;
   color: #06142b;
   font-size: 22px;
   font-weight: 900;
   line-height: 1.18;
}

.jp-resources-topic-card strong {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   margin-top: auto;
   color: #9d7620;
   font-size: 14px;
   font-weight: 900;
   line-height: 1.3;
}

.jp-resources-featured__card {
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
   overflow: hidden;
   border-radius: 14px;
   background: #fff;
   box-shadow: 0 24px 70px rgba(15, 42, 69, .12);
}

.jp-resources-featured__image {
   min-height: 470px;
   overflow: hidden;
}

.jp-resources-featured__image img,
.jp-resources-post-card__image img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .35s ease, filter .35s ease;
}

.jp-resources-featured__card:hover img,
.jp-resources-post-card:hover img {
   transform: scale(1.045);
   filter: saturate(1.06) contrast(1.03);
}

.jp-resources-featured__content {
   padding: 56px;
   align-self: center;
}

.jp-resources-featured h2 a,
.jp-resources-post-card h3 a {
   color: inherit;
   text-decoration: none;
}

.jp-resources-text-link,
.jp-resources-post-card__content > a {
   display: inline-flex;
   margin-top: 10px;
   color: #9d7620;
   font-weight: 900;
   text-decoration: none;
}

.jp-resources-post-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 28px;
}

.jp-resources-post-card {
   overflow: hidden;
   border: 1px solid rgba(6, 20, 43, .1);
   border-radius: 12px;
   background: #fff;
   box-shadow: 0 18px 48px rgba(15, 42, 69, .08);
}

.jp-resources-post-card__image {
   display: block;
   height: 235px;
   overflow: hidden;
}

.jp-resources-post-card__content {
   padding: 28px 26px 30px;
}

.jp-resources-post-card__meta {
   display: inline-flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 7px;
}

.jp-resources-post-card__meta b {
   color: rgba(6, 20, 43, .32);
   font-weight: 900;
}

.jp-resources-post-card h3 {
   margin: 12px 0 12px;
   color: #06142b;
   font-size: 25px;
   font-weight: 900;
   line-height: 1.18;
}

.jp-resources-cta__inner {
   max-width: 920px;
   margin: 0 auto;
   padding: 58px;
   border-radius: 14px;
   background: #050505;
   color: #fff;
   text-align: center;
}

.jp-resources-cta h2 {
   color: #fff;
}

.jp-resources-cta p {
   max-width: 740px;
   margin: 20px auto 30px;
   color: rgba(255, 255, 255, .78);
}

.jp-resources-cta__actions {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 14px;
}

.jp-resources-empty {
   margin: 0;
   color: #566174;
   font-size: 18px;
}

@media (max-width: 1199px) {
   .jp-resources-topic-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .jp-resources-topic-card {
      min-height: 230px;
   }
}

@media (max-width: 991px) {
   .jp-resources-hero {
      min-height: 560px;
   }

   .jp-resources-intro__grid,
   .jp-resources-featured__card {
      grid-template-columns: 1fr;
   }

   .jp-resources-featured__image {
      min-height: 340px;
   }

   .jp-resources-post-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 767px) {
   .jp-resources-hero {
      min-height: auto;
   }

   .jp-resources-hero__content {
      padding: 72px 0;
   }

   .jp-resources-hero h1 {
      font-size: 44px;
   }

   .jp-resources-hero p {
      font-size: 17px;
   }

   .jp-resources-intro,
   .jp-resources-topics,
   .jp-resources-featured,
   .jp-resources-latest,
   .jp-resources-cta {
      padding: 58px 0;
   }

   .jp-resources-topic-grid,
   .jp-resources-post-grid {
      grid-template-columns: 1fr;
   }

   .jp-resources-section-head--split {
      align-items: start;
      flex-direction: column;
   }

   .jp-resources-featured__content,
   .jp-resources-cta__inner {
      padding: 34px 26px;
   }

   .jp-resources-btn {
      width: 100%;
   }

   .jp-resources-cta__actions {
      flex-direction: column;
   }
}
