/*
 Theme Name:   ZJ Bootstrap Child
 Theme URI:http://320press.com/wpbs/
 Description:  WP Bootstrap Child Theme
 Author:   Upright Communications
 Template: wordpress-bootstrap-master
 Text Domain:  wordpress-bootstrap-master
*/

.row.steps { display: none; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

body { font-family: 'inter-18pt', sans-serif; font-size: 16px; padding: 0; }
h1, h2, h3, h4, h5, h6, .btn, input[type="submit"], .h1 { font-family: 'nimbus-sans-extended', sans-serif; }
a, a:hover, a:focus { color: #2E5768; }

@media (min-width: 1400px) {
	.container { width: 1340px; }
}

#content, #main article { padding: 0; margin-top: 0; margin-bottom: 0; }

.post_content h2, .post_content h3 { color: #2E5768; }
.post_content a { text-decoration: underline; }
.post_content .container { padding: 4rem 15px; }
.bg-grey { background-color: #f6f6f6; }
.bg-grey hr { border-top: 1px solid #C9C9C9; margin: 4rem 0; }

.btn-primary { color: #fff; background-color: #C56928; border-color: #C56928; border-radius: 5px; text-transform: uppercase; font-weight: 500; font-size: 16px; text-decoration: none !important; }
.btn-primary:hover { background-color: #fff; color: #C56928; border-color: #C56928; text-decoration: none !important; }
.btn-secondary { color: #fff; background-color: #2E5768; border-color: #2E5768; border-radius: 5px; text-transform: uppercase; font-weight: 500; font-size: 16px; text-decoration: none !important; }
.btn-secondary:hover { background-color: #fff; color: #2E5768; border-color: #2E5768; text-decoration: none !important; }

#header { background-color: #2E5768; padding: 2rem 0 4rem; }
.home #header { background-color: transparent; position: relative; z-index: 100; }

#header .row { display: flex; align-items: center; flex-wrap: wrap; }

#menu-main { display: flex; justify-content: center; float: unset; }
#menu-main li a { font-family: 'nimbus-sans-extended', sans-serif; }
#menu-main>li>a { text-transform: uppercase; padding: 5px 10px; border-bottom: 2px solid transparent; font-weight: bold; font-size: 14px; color: #fff; }
#menu-main>li>a:hover, #menu-main>li>a:focus, #menu-main>li.current-menu-item>a, #menu-main>li.current-menu-ancestor>a { background-color: transparent; border-bottom: 2px solid #C56928; }
#menu-main>li>a .caret { display: none; }

#header .header-logo img { width: 100%; height: auto; max-width: 250px; }
#header .phone { color: #fff; text-align: center; }
#header .phone p { margin: 0; }
#header .btn-primary { width: 100%; text-align: center; }

@media (min-width: 992px) { 
.header-nav .dropdown-menu { display: none; opacity: 0; visibility: hidden; transition: opacity 0.15s ease; }
.header-nav .dropdown:hover .dropdown-menu { display: block; opacity: 1; visibility: visible; }
}

.inner-wrap { background: #fff; }

.hamburger-btn { display: none; align-items: center; gap: 0.5rem; padding: 0.5rem; margin: 0; border: 0; background: transparent; cursor: pointer; color: #fff; }
.hamburger-label { font-family: 'nimbus-sans-extended', sans-serif; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; }
.hamburger-box { display: inline-block; position: relative; width: 28px; height: 20px; }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { display: block; position: absolute; width: 28px; height: 3px; border-radius: 2px; background-color: #fff; transition: transform 0.25s ease, opacity 0.25s ease, top 0.25s ease; }
.hamburger-inner { top: 50%; margin-top: -1.5px; }
.hamburger-inner::before, .hamburger-inner::after { content: ''; left: 0; }
.hamburger-inner::before { top: -8px; }
.hamburger-inner::after { top: 8px; }

.nav .open>a, .nav .open>a:hover, .nav .open>a:focus { background-color: unset; border-color: unset; }

#header.mobile-menu-open .hamburger-inner { background-color: transparent; }
#header.mobile-menu-open .hamburger-inner::before { top: 0; transform: rotate(45deg); }
#header.mobile-menu-open .hamburger-inner::after { top: 0; transform: rotate(-45deg); }
.home #header.mobile-menu-open { background-color: #2E5768; }

.off-canvas-nav { display: none; }
.off-canvas-nav .navbar, .off-canvas-nav .navbar-collapse { display: block !important; height: auto !important; overflow: visible !important; border: 0; box-shadow: none; background: transparent; padding: 0; margin: 0; }
.off-canvas-nav .nav, .off-canvas-nav .navbar-nav { display: block; float: none; width: 100%; margin: 0; padding: 0; list-style: none; }
.off-canvas-nav .nav:before, .off-canvas-nav .nav:after, .off-canvas-nav .navbar-nav:before, .off-canvas-nav .navbar-nav:after { display: none; }
.off-canvas-nav .nav > li, .off-canvas-nav .navbar-nav > li { display: block; float: none; width: 100%; position: relative; }
.off-canvas-nav .nav > li > a, .off-canvas-nav .navbar-nav > li > a { display: flex; align-items: center; width: auto; height: auto; padding: 1rem 1.25rem; color: #fff; font-family: 'nimbus-sans-extended', sans-serif; font-weight: bold; font-size: 14px; text-transform: uppercase; text-align: left; border-bottom: 1px solid rgba(255, 255, 255, 0.1); background: transparent; }
.off-canvas-nav .nav > li > a:hover, .off-canvas-nav .nav > li > a:focus, .off-canvas-nav .navbar-nav > li > a:hover, .off-canvas-nav .navbar-nav > li > a:focus { color: #fff; background-color: rgba(197, 105, 40, 0.25); border-bottom-color: rgba(255, 255, 255, 0.1); }
.off-canvas-nav .caret { display: none; }
#mobile-menu.off-canvas-nav .navbar-nav > li.menu-item-has-children, #mobile-menu.off-canvas-nav .navbar-nav > li.dropdown { display: grid; grid-template-columns: 5fr 1fr; align-items: stretch; }
#mobile-menu.off-canvas-nav .navbar-nav > li.menu-item-has-children > a, #mobile-menu.off-canvas-nav .navbar-nav > li.dropdown > a { grid-column: 1; width: auto; max-width: none; min-width: 0; }
#mobile-menu.off-canvas-nav .navbar-nav > li.menu-item-has-children > .more { grid-column: 2; display: flex; align-items: center; justify-content: center; min-height: 52px; cursor: pointer; background: rgba(0, 0, 0, 0.15); border-bottom: 1px solid rgba(255, 255, 255, 0.1); border-left: 1px solid rgba(255, 255, 255, 0.1); }
#mobile-menu.off-canvas-nav .navbar-nav > li.menu-item-has-children > .more .chevron { display: block; width: 10px; height: 10px; border-right: 2px solid #C56928; border-bottom: 2px solid #C56928; transform: rotate(45deg); margin-top: -4px; transition: transform 0.25s ease; }
#mobile-menu.off-canvas-nav .navbar-nav > li.menu-item-has-children.open-accordion > .more .chevron { transform: rotate(-135deg); margin-top: 4px; }
#mobile-menu.off-canvas-nav .dropdown-menu, #mobile-menu.off-canvas-nav .sub-menu, .off-canvas-nav .navbar-nav > li > .dropdown-menu { display: block; position: static; float: none; clear: both; grid-column: 1 / -1; width: 100%; min-width: 0; list-style: none; padding: 0; margin: 0; overflow: hidden; max-height: 0; background: rgba(0, 0, 0, 0.2); border: 0; border-radius: 0; box-shadow: none; transition: max-height 0.35s ease; }
#mobile-menu.off-canvas-nav .menu-item-has-children.open-accordion > .dropdown-menu, #mobile-menu.off-canvas-nav .menu-item-has-children.open-accordion > .sub-menu { max-height: 500px; }
#mobile-menu.off-canvas-nav .dropdown-menu > li, #mobile-menu.off-canvas-nav .sub-menu > li { float: none; width: 100%; }
#mobile-menu.off-canvas-nav .dropdown-menu > li > a, #mobile-menu.off-canvas-nav .sub-menu > li > a { display: block; padding: 0.85rem 1.25rem 0.85rem 2rem; color: #fff; font-family: 'nimbus-sans-extended', sans-serif; font-size: 12px; font-weight: 500; text-transform: none; white-space: normal; background: transparent; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
#mobile-menu.off-canvas-nav .dropdown-menu > li > a:hover, #mobile-menu.off-canvas-nav .dropdown-menu > li > a:focus, #mobile-menu.off-canvas-nav .sub-menu > li > a:hover, #mobile-menu.off-canvas-nav .sub-menu > li > a:focus { color: #fff; background-color: rgba(197, 105, 40, 0.2); }
.off-canvas-nav .current-menu-item > a, .off-canvas-nav .current_page_item > a { color: #C56928; }

.sitemap-columns ul { line-height: 1.7; }
/* @media (max-width: 992px) { .sitemap-columns .row .col-md-4:nth-of-type(3) { margin-top: 40px; } }  */
@media (max-width: 992px) { .sitemap-columns .row .col-md-4:nth-child(3) { margin-top: 40px; } }

.menu-header { font-size: 24px; font-weight: 600; list-style-type: none; margin-left: -20px; }
.menu-subhead { list-style-type: none; margin-left: -20px; margin-top: 1rem; pointer-events: none; }
.menu-subhead a { text-decoration: none; color: #333; font-size: 20px; }
.menu-no-link { text-decoration: none; pointer-events: none; }

@media (max-width: 992px) {
#header { position: relative; padding: 1.25rem 0 0; }
#header .header-row { flex-wrap: nowrap; justify-content: space-between; padding-bottom: 1.25rem; }
#header .header-logo { flex: 1 1 auto; max-width: 40%; }
#header .header-nav, #header .header-cta, #header .phone { display: none; }

.hamburger-btn { display: flex; flex: 0 0 auto; margin-left: auto; }

.off-canvas-nav { display: block; position: relative; width: 100%; max-height: 0; overflow: hidden; opacity: 0; visibility: hidden; background-color: #2E5768; transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0.3s ease; }

#header.mobile-menu-open .off-canvas-nav { max-height: 80vh; overflow-y: auto; opacity: 1; visibility: visible; -webkit-overflow-scrolling: touch; }
}

.page-header { text-align: center; border: none; margin: 4rem 0; padding: 0; }
.page-header h1, .page-header .h1, .prefooter-cta .h1 { color: #2E5768; font-size: 45px; text-transform: uppercase; margin-top: 5px; text-align: center; }
.page-header .subheader, .prefooter-cta .subheader { color: #C56928; font-size: 20px; font-weight: 600; text-transform: uppercase; margin: 0; text-align: center; }
.page-header .row { display: flex; flex-wrap: wrap; justify-content: center; row-gap: 30px; }

.prefooter-cta { margin: 4rem 0; }

#prefooter { padding: 6rem 0; background-size: cover; background-position: center; background-repeat: no-repeat; backdrop-filter: brightness(60%); }
#prefooter h2 { font-size: 45px; color: #fff; margin-top: 0; }
#prefooter p { font-size: 20px; color: #fff; margin-bottom: 20px; }

#inner-footer p { font-size: 14px; }
#inner-footer img { width: 100%; height: auto; max-width: 250px; }
#inner-footer .footer-main-row { display: flex; flex-wrap: wrap; }
#widget-footer ul.menu { padding: 0; color: #0E2A30; list-style-type: none; }
#widget-footer ul.menu li a { color: #0E2A30; font-size: 14px; }
#inner-footer .buttons { display: flex; flex-direction: column; row-gap: 1rem; }
.footerwrap { padding: 6rem 0; background: #f6f6f6; }
.footerwrap .social { display: flex; align-items: center; justify-content: space-evenly; }
/* footer links */
.link-bold { font-weight: bold; text-transform: uppercase; }
.link-margintop { margin-top: 10px; }  



.home .hero-image img, .home .hero-image video { width: 100%; object-fit: cover; max-height: 935px; margin-top: -145px; margin-bottom: -6px; filter: brightness(0.65); }
@media (max-width: 1200px) {
	.home .hero-image img, .home .hero-image video { margin-top: -135px; }
}
@media (max-width: 992px) {
	.home .hero-image img, .home .hero-image video { margin-top: -87px; }
}
@media (max-width: 576px) {
	.home .hero-image img, .home .hero-image video { margin-top: -73px; }
}

.home #content { position: relative; z-index: 100; }
.home h2 { font-size: 45px; color: #2E5768; }
.home h3 { font-size: 35px; color: #2E5768; }
.home .h3 { font-size: 20px; color: #C56928; font-weight: 600; text-transform: uppercase; font-family: 'nimbus-sans-extended', sans-serif; }

.home .explore { padding: 4rem 0; background: #F6F6F6; border-top: 10px solid #2E5768; }
.home .explore h2, .home .explore .h3, .home .explore h3 { text-align: center; }
.home .explore h2 { margin-top: 5px; }
.home .explore .h3 { margin: 0; }

.home .explore .boxes { margin: 4rem 0; display: flex; flex-wrap: wrap; row-gap: 2rem; }
.home .explore .box { background: #fff; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); border-radius: 8px; overflow: hidden; }
.home .explore .box img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.home .explore .box h3 { font-size: 20px; font-weight: 700; color: #2E5768; padding: 2rem; text-align: left; text-transform: uppercase; margin: 0; }
.home .explore .box a:hover { text-decoration: none !important; }
.home .explore .box a:hover h3 { background: #f2f2f2; }
.home .explore .box span { color: #C56928; }

.experience { margin-top: 2rem; text-align: center; position: relative; --experience-icon-size: 70px; row-gap: 2rem; }
.experience > [class*="col-"] { position: relative; z-index: 1; }
.experience > [class*="col-"]:not(:last-child)::after { content: ''; position: absolute; top: calc(var(--experience-icon-size) / 2); left: 50%; width: 100%; height: 2px; background-color: #C56928; transform: translateY(-50%); z-index: 0; pointer-events: none; }
.experience img { display: block; margin: 0 auto 1rem; position: relative; z-index: 1; }
.experience span { text-transform: uppercase; color: #2E5768; font-size: 18px; font-weight: 600; font-family: 'nimbus-sans-extended', sans-serif; }
.experience p { margin: 0; }
@media (max-width: 992px) {
	.experience > [class*="col-"] { margin-top: 2rem; }
	.experience > [class*="col-"]:not(:last-child)::after { display: none; }
}
@media (min-width: 1200px) {
	.home .experience > [class*="col-"] { padding: 0 50px; }
}
@media (min-width: 1400px) {
	.home .experience > [class*="col-"] { padding: 0 70px; }
}

.home .our-story { padding: 4rem 0 6rem; }
.home .our-story h2 { margin-top: 5px; }
.home .our-story .body-content { display: flex; flex-wrap: wrap; align-items: center; }
.home .our-story .testimonial em { font-size: 20px; }
.home .our-story .testimonial>div { border-left: 1px solid #2E5768; padding: 2rem 3rem; }

.home .our-story .promo { padding: 2rem 4rem; background: #2E5768; color: #fff; border-radius: 8px; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); margin: 4rem 0; }
.home .our-story .promo h3 { font-size: 28px; font-weight: 700; color: #fff; margin: 0; }
.home .our-story .promo p { margin: 0; }
.home .our-story .promo .row>div:first-child { border-right: 5px solid #C56928; }
.home .our-story .promo .row { display: flex; align-items: center; }
.home .our-story .promo .row>div:last-child { display: flex; align-items: center; justify-content: space-between; }

.home .our-story .where-we-build { border-radius: 8px; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); }
.home .our-story .where-we-build img { object-fit: cover; height: 100%; width: 100%; }
.home .our-story .where-we-build h3 { font-size: 28px; font-weight: 700; color: #2E5768; }
.home .our-story .where-we-build .locations { display: flex; flex-wrap: wrap; margin: 2rem 0; row-gap: 2rem; }
.home .our-story .where-we-build .locations>div { width: 20%; display: inline-block; color: #2E5768; }

.blog-cards { display: flex; flex-wrap: wrap; row-gap: 3rem; }
.blog-card { display: flex; flex-direction: column; height: 100%; background: #fff; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); border-radius: 8px; overflow: hidden; }
.blog-card-content { padding: 2rem; }
.blog-card-content h2 { font-size: 20px; font-weight: 600; margin: 0 0 5px; color: #2E5768; }
.blog-card-content h2 a { color: #2E5768; }
.blog-card-content p { margin: 0; }
#sidebar1 h4 { font-size: 35px; color: #2E5768; margin-top: 0; }
#sidebar1 ul { list-style-type: none; padding: 0; row-gap: 10px; display: flex; flex-wrap: wrap; }
#sidebar1 a { color: #2E5768; text-decoration: underline; }

.single .post_content a { text-decoration: underline; }

#post-6 .post_content { padding: 6rem 0; }
#post-6 .post_content .row { display: flex; flex-wrap: wrap; row-gap: 30px; }
#post-6 .post_content .row > [class*="col-"] { display: flex; }

#post-6 .post_content { background: #F6F6F6; }
#post-6 a { text-decoration: none !important; }
.collection-card { display: flex; flex-direction: column; height: 100%; background: #fff; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); border-radius: 8px; overflow: hidden; }
.collection-card > a { display: flex; flex-direction: column; flex: 1 1 auto; height: 100%; text-decoration: none; }
a:hover .collection-card { text-decoration: none; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); transform: translateY(-10px); transition: all 0.3s ease-in; }
.collection-card-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.collection-card-header { padding: 2rem; }
.collection-card-header .h2 { color: #2E5768; text-transform: uppercase; font-size: 25px; font-weight: 600; margin: 0 0 5px; }
.collection-card-header .h3 { color: #C56928; text-transform: uppercase; font-size: 18px; font-weight: 600; margin: 0; }
.collection-card-content { flex: 1 1 auto; padding: 2rem 0; margin: 0 2rem; border-top: 1px solid #C9C9C9; border-bottom: 1px solid #C9C9C9; }
.collection-card-content p { color: #333; font-size: 16px; }
.collection-card-link { padding: 2rem; text-align: right; text-transform: uppercase; font-size: 20px; font-weight: 600; }
.collection-card-link p { color: #2E5768; margin: 0; }
.collection-card-link span { color: #C56928; }

.page-template-page-floor-plan-category .page-header, .page-template-page-floor-plan-category .page-header h1, .page-template-page-floor-plan-category .page-header .subheader, .page-template-page-floor-plan-category .plan-categories { text-align: left; }
.plan-categories { display: flex; flex-wrap: wrap; row-gap: 10px; }
.page-header-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; overflow: hidden; }
.page-template-page-floor-plan-category .post_content { background: #F6F6F6; }
.page-template-page-floor-plan-category .page-header .btn { margin-right: 10px;background-color: #f6f6f6; color: #2E5768; border-color: #2E5768; }
.page-template-page-floor-plan-category .page-header .btn:hover { background-color: #2E5768; color: #f6f6f6; border-color: #2E5768; }

.plans { margin: 0 0 6rem; }
.plans h2 { margin: 6rem 0 2rem; color: #2E5768; font-size: 35px; font-weight: 600; text-align: center; }
.plans a { text-decoration: none !important; }
.plans p { color: #333; margin: 0; }
.plans>.row { display: flex; flex-wrap: wrap; row-gap: 30px; }
.plan-card { display: flex; flex-direction: column; height: 100%; background: #fff; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); border-radius: 8px; overflow: hidden; }
.plan-card > a { display: flex; flex-direction: column; flex: 1 1 auto; height: 100%; text-decoration: none; }
a:hover .plan-card { text-decoration: none; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); transform: translateY(-10px); transition: all 0.3s ease-in; }
.plan-card-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.plan-card-header { padding: 2rem; }
.plan-card-header .h2 { color: #2E5768; text-transform: uppercase; font-size: 25px; font-weight: 600; margin: 0; }
.plan-card-header p { margin: 0; }
.plan-card-content { flex: 1 1 auto; padding: 2rem 0; margin: 0 2rem; border-top: 1px solid #C9C9C9; border-bottom: 1px solid #C9C9C9; color: #333; font-size: 14px; text-transform: uppercase; }
.plan-card-content .row { margin: 0 -10px; row-gap: 20px; display: flex; flex-wrap: wrap;}
.plan-card-content .row>div { padding: 0 10px; }
.plan-card-content span { font-weight: 600; }
.plan-card-link { padding: 2rem; text-align: right; text-transform: uppercase; font-size: 20px; font-weight: 600; }
.plan-card-link p { color: #2E5768; margin: 0; }
.plan-card-link span { color: #C56928; }

.zj-dropdowns { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1.5rem; }
.zj-dropdown { background: #fff; border-radius: 8px; box-shadow: 3px 0 6px 0 rgba(0, 0, 0, 0.15); overflow: hidden; }
.zj-dropdown-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.5rem; cursor: pointer; list-style: none; user-select: none; }
.zj-dropdown-title::-webkit-details-marker { display: none; }
.zj-dropdown-title::marker { content: ''; }
.zj-dropdown-title h2, .zj-dropdown-title h3 { margin: 0; font-size: 24px; font-weight: 500; color: #2E5768; text-transform: capitalize; }
.zj-dropdown-title::after { content: ''; flex-shrink: 0; width: 10px; height: 10px; border-right: 2px solid #C56928; border-bottom: 2px solid #C56928; transform: rotate(45deg); transition: transform 0.25s ease; margin-top: -4px; }
.zj-dropdown[open] > .zj-dropdown-title::after { transform: rotate(-135deg); margin-top: 4px; }
.zj-dropdown-title:hover { background-color: #fafafa; }
.zj-dropdown-content { padding: 1.5rem; border-top: 1px solid #C9C9C9; }
.zj-dropdown-content p:last-child { margin-bottom: 0; }
.zj-dropdown-content .link { text-decoration: underline; }
.zj-dropdown-content ul { margin: 0; padding-left: 1.25rem; color: #333; }
.zj-dropdown-content li { margin-bottom: 0.4rem; }
.zj-dropdown-content li:last-child { margin-bottom: 0; }

.zj-dropdowns-grid {
	--zj-dropdown-cols: 3;
	display: grid;
	grid-template-columns: repeat(var(--zj-dropdown-cols), minmax(0, 1fr));
	gap: 1rem;
	align-items: start;
}
.zj-dropdowns-col { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.zj-dropdowns-grid .zj-dropdown { width: 100%; }
.zj-dropdowns-grid .zj-dropdown-title h3 { font-size: 20px; }

@media (max-width: 992px) {
	.zj-dropdowns-grid { --zj-dropdown-cols: 2; }
}

@media (max-width: 576px) {
	.zj-dropdowns-grid { --zj-dropdown-cols: 1; }
}

.faq-accordion { display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 1.5rem; }
.faq-accordion-heading { margin: 0 0 0.25rem; font-size: 24px; font-weight: 500; color: #2E5768; text-transform: uppercase; }
.faq-accordion-item { background: #fff; border-radius: 8px; box-shadow: 3px 0 6px 0 rgba(0, 0, 0, 0.15); overflow: hidden; }
.faq-accordion-label { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.5rem; cursor: pointer; list-style: none; user-select: none; }
.faq-accordion-label::-webkit-details-marker { display: none; }
.faq-accordion-label::marker { content: ''; }
.faq-accordion-label h3 { margin: 0; font-size: 24px; font-weight: 500; color: #2E5768; text-transform: capitalize; }
.faq-accordion-label::after { content: ''; flex-shrink: 0; width: 10px; height: 10px; border-right: 2px solid #C56928; border-bottom: 2px solid #C56928; transform: rotate(45deg); transition: transform 0.25s ease; margin-top: -4px; }
.faq-accordion-item[open] > .faq-accordion-label::after { transform: rotate(-135deg); margin-top: 4px; }
.faq-accordion-label:hover { background-color: #fafafa; }
.faq-accordion-content { padding: 1.5rem; border-top: 1px solid #C9C9C9; }
.faq-accordion-content p:last-child { margin-bottom: 0; }

.page-template-page-floor-plan #header {  background-color: #00000050; z-index: 1; position: relative; }
.page-template-page-floor-plan article header { position: absolute; z-index: 1; width: 100%; top: 55rem; }
.page-template-page-floor-plan article>img { margin-top: -145px; width: 100%; aspect-ratio: 5 / 2; object-fit: cover; height: 700px !important;}

.page-template-page-floor-plan .page-header h1 { color: #fff; font-size: 55px; font-weight: 600; text-shadow: 5px 5px 3px #333; }
.page-template-page-floor-plan .post_content h2 { color: #2E5768; font-size: 35px; margin: 0 0 2rem; }

.page-template-page-floor-plan .contact-cta h2 { color: #fff; }

.spec-grid { display: flex; align-items: stretch; }
.spec-col { flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 1rem; text-align: left; padding: 1.25rem 1rem; border-right: 1px solid #C9C9C9; }
.spec-col:last-child { border-right: none; }
.spec-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; color: #002a4c; }
.spec-icon svg { display: block; width: 100%; height: 100%; }
.spec-text { min-width: 0; }
.spec-value { display: block; font-family: 'nimbus-sans-extended', sans-serif; font-size: 30px; font-weight: 700; color: #2E5768; line-height: 1.2; }
.spec-label { display: block; margin-top: 0.15rem; color: #333; font-size: 15px; text-transform: uppercase; }

@media (max-width: 768px) {
	.spec-grid { flex-direction: column; }
	.spec-col { border-right: 0; border-bottom: 1px solid #C9C9C9; }
	.spec-col:last-child { border-bottom: 0; }
}

.variations .subheader { color: #C56928; font-size: 20px; font-weight: 600; text-transform: uppercase; margin: 0; text-align: center; font-family: 'nimbus-sans-extended', sans-serif; }
.variations h2 { color: #2E5768; font-size: 45px; text-transform: uppercase; margin-top: 5px; margin-bottom: 0; text-align: center; }

.variations-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; margin-top: 2.5rem; }
.variation-card { flex: 0 0 calc((100% - 4.5rem) / 4); max-width: calc((100% - 4.5rem) / 4); min-width: 0; }
.variation-trigger { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; text-align: left; }
.variation-image-wrap { display: block; position: relative; border-radius: 8px; overflow: hidden; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); background: #f6f6f6; }
.variation-image { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 0.25s ease, opacity 0.25s ease; }
.variation-trigger:hover .variation-image,
.variation-trigger:focus .variation-image { transform: scale(1.02); opacity: 0.92; }
.variation-trigger:focus { outline: none; }
.variation-trigger:focus-visible { outline: 2px solid #C56928; outline-offset: 2px; }
.variation-zoom { position: absolute; right: 0.75rem; bottom: 0.75rem; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, 0.94); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); color: #C56928; pointer-events: none; }
.variation-zoom svg { display: block; width: 22px; height: 22px; }
.variation-title { color: #2E5768; text-transform: uppercase; font-size: 20px; font-weight: 600; margin: 1rem 0 0; text-align: center; }

.zj-lightbox.is-single .zj-lightbox-nav { display: none; }

@media (max-width: 992px) {
	.variation-card { flex-basis: calc((100% - 1.5rem) / 2); max-width: calc((100% - 1.5rem) / 2); }
}

@media (max-width: 576px) {
	.variation-card { flex-basis: 100%; max-width: 100%; }
	.variations h2 { font-size: 35px; }
}

.floor-plan { padding: 6rem 0 4rem; }

.contact-cta { margin: 4rem 0; padding: 3rem; background: #2E5768; color: #fff; border-radius: 8px; }
.contact-cta h2 { font-size: 35px; color: #fff; margin-top: 0; }
.contact-cta .gform_wrapper { margin: 0; }
.contact-cta input[type="submit"] { background: #C56928; color: #fff; border: 1px solid #C56928; padding: 6px 12px; border-radius: 8px; text-transform: uppercase; font-weight: bold; }
.contact-cta input[type="submit"]:hover { background: #fff; color: #C56928; border: 1px solid #C56928; }
.contact-cta .gform_wrapper.gravity-theme .gfield select { border-radius: 8px; }
.gform_required_legend { display: none; }

.similar-plans { text-align: center; padding: 4rem 0 6rem; }
.similar-plans h2 { text-align: center; }
.similar-plans-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; margin: 0 0 2.5rem; text-align: left; }
.similar-plan-card { flex: 0 0 calc((100% - 3rem) / 3); max-width: calc((100% - 3rem) / 3); min-width: 0; background: #fff; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); border-radius: 8px; overflow: hidden; }
.similar-plan-link { display: flex; flex-direction: column; height: 100%; text-decoration: none !important; }
.similar-plan-link:hover, .similar-plan-link:focus { text-decoration: none !important; }
.similar-plan-card:hover { transform: translateY(-10px); transition: all 0.3s ease-in; }
.similar-plan-image { display: block; background: #f6f6f6; }
.similar-plan-image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.similar-plan-title { color: #2E5768; text-transform: uppercase; font-size: 20px; font-weight: 700; margin: 0; padding: 2rem; text-decoration: none !important; }

@media (max-width: 992px) {
	.similar-plan-card { flex-basis: calc((100% - 1.5rem) / 2); max-width: calc((100% - 1.5rem) / 2); }
}

@media (max-width: 576px) {
	.similar-plan-card { flex-basis: 100%; max-width: 100%; }
	.similar-plans h2 { font-size: 28px; }
}

.page-template-page-build-location .post_content h1 { font-size: 35px; color: #2E5768; font-weight: 500; margin-top: 0; }

.cards { display: flex; flex-wrap: wrap; row-gap: 2rem; margin-top: 2rem; }
.lender-card { display: flex; flex-direction: column; height: 100%; background: #fff; box-shadow: 3px 0 6px 0 rgba(0,0,0,0.15); border-radius: 8px; overflow: hidden; padding: 2rem; }
.lender-card img { width: auto; max-height: 60px; object-fit: contain; margin: 0 auto; }
.lender-card-content { padding: 2rem 0; font-size: 14px; flex: 1 1 auto; }
.lender-card-content p { margin-bottom: 0; color: #333; }
.lender-card-content a { text-decoration: underline; }
.lender-card-link { display: block; margin-top: auto; padding-top: 2rem; text-align: right; text-transform: uppercase; font-size: 16px; font-weight: 600; border-top: 1px solid #C9C9C9; color: #2E5768; text-decoration: none !important; }
.lender-card-link:hover, .lender-card-link:focus { color: #2E5768; text-decoration: none; }
.lender-card-link span { color: #C56928; }

/* Building process tabs (CSS-only via radio inputs) */
.zj-tabs { margin: 0 0 4rem; position: relative; }
.zj-tabs-input { position: absolute; opacity: 0; pointer-events: none; }
.zj-tabs-nav { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0; background: #f6f6f6; border-radius: 8px 8px 0 0; padding: 0.75rem; }
.zj-tabs-btn { flex: 1 1 auto; min-width: 140px; display: block; text-align: center; background: transparent; color: #2E5768; font-family: 'nimbus-sans-extended', sans-serif; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em; padding: 0.9rem 1rem; border-radius: 6px; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease; margin: 0; }
.zj-tabs-btn:hover { background-color: rgba(46, 87, 104, 0.1); }

#zj-tab-preconstruction:checked ~ .zj-tabs-nav label[for="zj-tab-preconstruction"],
#zj-tab-building:checked ~ .zj-tabs-nav label[for="zj-tab-building"],
#zj-tab-warranty:checked ~ .zj-tabs-nav label[for="zj-tab-warranty"],
#zj-tab-referral:checked ~ .zj-tabs-nav label[for="zj-tab-referral"] { background-color: #2E5768; color: #fff; }

.zj-tabs-panels { background: #fff; border: 1px solid #C9C9C9; border-top: 0; border-radius: 0 0 8px 8px; box-shadow: 3px 0 6px 0 rgba(0, 0, 0, 0.08); }
.zj-tabs-panel { display: none; padding: 2.5rem; }
#zj-tab-preconstruction:checked ~ .zj-tabs-panels #tab-panel-preconstruction,
#zj-tab-building:checked ~ .zj-tabs-panels #tab-panel-building,
#zj-tab-warranty:checked ~ .zj-tabs-panels #tab-panel-warranty,
#zj-tab-referral:checked ~ .zj-tabs-panels #tab-panel-referral { display: block; }

.zj-tabs-panel h2 { color: #2E5768; font-size: 35px; font-weight: 600; margin: 0 0 1rem; text-transform: uppercase; }
.zj-tabs-panel h3 { color: #2E5768; font-size: 20px; font-weight: 700; margin: 0 0 0.5rem; text-transform: uppercase; }
.zj-tabs-panel p { color: #333; margin: 0 0 1rem; }
.zj-tabs-panel p:last-child { margin-bottom: 0; }
.zj-tabs-panel ul { margin: 0 0 1rem; padding-left: 1.25rem; color: #333; }
.zj-tabs-panel ul li { margin-bottom: 0.4rem; }
.zj-tabs-note { color: #666; font-size: 0.95rem; }

.zj-steps { list-style: none; margin: 2rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 1.25rem; }
.zj-step { display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem; background: #f6f6f6; border-radius: 8px; }
.zj-step-number { flex: 0 0 auto; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #C56928; color: #fff; font-family: 'nimbus-sans-extended', sans-serif; font-size: 16px; font-weight: 700; line-height: 1; }
.zj-step-body { flex: 1 1 auto; min-width: 0; }
.zj-step-body p:last-child, .zj-step-body ul:last-child { margin-bottom: 0; }

.zj-process-list { margin-top: 2rem; display: flex; flex-direction: column; gap: 0; }
.zj-process-item { padding: 1.5rem 0; border-top: 1px solid #C9C9C9; }
.zj-process-item:first-child { border-top: 0; padding-top: 0; }
.zj-process-item:last-child { padding-bottom: 0; }
.zj-process-item p:last-child { margin-bottom: 0; }

@media (max-width: 768px) {
	.zj-tabs-nav { flex-direction: column; border-radius: 8px; margin-bottom: 0.75rem; }
	.zj-tabs-btn { width: 100%; text-align: left; }
	.zj-tabs-panels { border: 1px solid #C9C9C9; border-radius: 8px; }
	.zj-tabs-panel { padding: 1.5rem; }
	.zj-tabs-panel h2 { font-size: 28px; }
	.zj-step { padding: 1rem; }
}

/* ACF gallery tabs — supports up to 12 tabs via nth-of-type */
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(1):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(1),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(2):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(2),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(3):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(3),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(4):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(4),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(5):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(5),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(6):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(6),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(7):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(7),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(8):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(8),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(9):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(9),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(10):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(10),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(11):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(11),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(12):checked ~ .zj-tabs-nav .zj-tabs-btn:nth-child(12) {
	background-color: #2E5768;
	color: #fff;
}

.zj-gallery-tabs > .zj-tabs-input:nth-of-type(1):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(1),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(2):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(2),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(3):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(3),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(4):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(4),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(5):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(5),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(6):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(6),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(7):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(7),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(8):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(8),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(9):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(9),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(10):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(10),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(11):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(11),
.zj-gallery-tabs > .zj-tabs-input:nth-of-type(12):checked ~ .zj-tabs-panels .zj-tabs-panel:nth-child(12) {
	display: block;
}

.zj-gallery-tabs .zj-tabs-panel { padding: 2rem; }
.zj-gallery-tabs .zj-tabs-panel h2 { margin-bottom: 1.5rem; }

.zj-masonry {
	column-count: 3;
	column-gap: 1rem;
}

.zj-masonry-item {
	break-inside: avoid;
	margin: 0 0 1rem;
	border-radius: 8px;
	overflow: hidden;
	background: #f6f6f6;
}

.zj-masonry-trigger {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}

.zj-masonry-image {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.25s ease, opacity 0.25s ease;
}

.zj-masonry-trigger:hover .zj-masonry-image,
.zj-masonry-trigger:focus .zj-masonry-image {
	transform: scale(1.02);
	opacity: 0.92;
}

.zj-masonry-trigger:focus {
	outline: none;
}

.zj-masonry-trigger:focus-visible {
	outline: 2px solid #C56928;
	outline-offset: 2px;
}

.zj-video-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.zj-video-item {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: #0e2a30;
}

.zj-video-item iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

body.zj-lightbox-open {
	overflow: hidden;
}

.zj-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
}

.zj-lightbox[hidden] {
	display: none !important;
}

.zj-lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(14, 42, 48, 0.88);
	cursor: pointer;
}

.zj-lightbox-dialog {
	position: relative;
	z-index: 1;
	max-width: min(1100px, 100%);
	max-height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.zj-lightbox-image {
	display: block;
	max-height: 600px;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
}

.zj-lightbox-close,
.zj-lightbox-nav {
	appearance: none;
	border: 0;
	background: #2E5768;
	color: #fff;
	cursor: pointer;
	font-family: 'nimbus-sans-extended', sans-serif;
	line-height: 1;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.zj-lightbox-close:hover,
.zj-lightbox-nav:hover,
.zj-lightbox-close:focus,
.zj-lightbox-nav:focus {
	background: #C56928;
	color: #fff;
	outline: none;
}

.zj-lightbox-close {
	position: absolute;
	top: -0.5rem;
	right: -0.5rem;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	font-size: 28px;
	z-index: 2;
}

.zj-lightbox-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	font-size: 22px;
	z-index: 2;
}

.zj-lightbox-prev { left: -0.75rem; }
.zj-lightbox-next { right: -0.75rem; }

@media (max-width: 992px) {
	.zj-masonry { column-count: 2; }
}

@media (max-width: 768px) {
	.zj-video-grid { grid-template-columns: 1fr; }
}

@media (max-width: 576px) {
	.zj-masonry { column-count: 1; }
	.zj-gallery-tabs .zj-tabs-panel { padding: 1.25rem; }
	.zj-lightbox { padding: 1rem; }
	.zj-lightbox-prev { left: 0.25rem; }
	.zj-lightbox-next { right: 0.25rem; }
	.zj-lightbox-close { top: 0.25rem; right: 0.25rem; }
}

.tldr-summary {
    background: #ebebeb;
    padding: 25px 25px 15px;
    border: 1px solid #c0bebe;
    margin-bottom: 30px;
}

.tldr-summary h2 {
	color: #C56928;
    margin-top: 0;
    font-size: 30px;
}

.photo-stack {
	position: relative;
	max-width: 450px;
	margin: auto;
}

.photo-stack .frame {
	position: relative;
	width: 70%;
	margin: 0;
	padding: 8px 8px 0;
	background: #fff;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
	box-sizing: border-box;
}

.photo-stack .frame:first-child {
	z-index: 2;
	margin-bottom: 2rem;
}

.photo-stack .frame:last-child {
	margin-left: 15%;
	z-index: 1;
}

.photo-stack .frame img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.photo-stack .frame figcaption {
	display: block;
	margin: 0;
	padding: 0.55em 0.4em 0.7em;
	text-align: center;
	font-family: 'nimbus-sans-extended', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #2E5768;
}

.single .wp-post-image { width: 100%; margin-bottom: 3rem; }

/* Shared layout and type scale — tablet */
@media (max-width: 1340px) {
	.page-template-page-floor-plan article>img { margin-top: -145px; aspect-ratio: 2 / 1; height: 600px !important; }
	.page-template-page-floor-plan article header { top: 45rem; }
}

@media (max-width: 1200px) {
	#inner-footer .btn, #header .btn, #menu-main>li>a { font-size: 12px; }
}

@media (max-width: 992px) {
	.post_content .container { padding: 2.5rem 15px; }
	.bg-grey hr { margin: 2.5rem 0; }
	.page-header { margin: 2.5rem 0; }
	.page-header h1, .page-header .h1, .prefooter-cta .h1 { font-size: 36px; }
	.page-header .subheader, .prefooter-cta .subheader { font-size: 18px; }
	.prefooter-cta { margin: 2.5rem 0; }
	#prefooter { padding: 4rem 0; }
	#prefooter h2 { font-size: 36px; }
	#prefooter p { font-size: 18px; }
	.footerwrap { padding: 4rem 0; }
	#inner-footer .footer-nav { width: 100%; order: -1; margin-bottom: 2rem; }
	#inner-footer .footer-brand { width: 50%; }
	#inner-footer .footer-cta { width: 50%; }

	.home .hero-text { width: 80%; padding: 10rem 1rem 12rem; }
	.home .hero-text h1 { font-size: 36px; }
	.home .hero-text p { font-size: 18px; }
	.home h2 { font-size: 36px; }
	.home h3 { font-size: 28px; }
	.home .explore { padding: 2.5rem 0; }
	.home .explore .boxes { margin: 2.5rem 0; }
	.home .explore .boxes>div { width: 100%; }

	.home .our-story { padding: 2.5rem 0 3rem; }
	.home .our-story .testimonial { padding: 2rem 0; margin: 0 15px; border-left: none; border-top: 1px solid #2E5768; }
	.home .our-story .testimonial p { font-size: 20px; }
	.home .our-story .promo { padding: 2rem; margin: 2.5rem 0; }
	.home .our-story .promo .row { flex-direction: column; row-gap: 1.5rem; }
	.home .our-story .promo .row>div:first-child { border-right: none; border-bottom: 5px solid #C56928; padding-bottom: 1.5rem; }
	.home .our-story .promo .row>div:last-child { flex-wrap: wrap; justify-content: center; gap: 1rem; }
	.home .our-story .where-we-build img { height: auto; }
	.home .our-story .where-we-build .locations>div { width: 33.333%; }

	#post-6 .post_content { padding: 3rem 0; }
	#sidebar1 h4 { font-size: 28px; }
	.plans { margin: 0 0 3rem; }
	.plans h2 { margin: 3rem 0 1.5rem; font-size: 28px; }
	.page-template-page-floor-plan-category .page-header .btn { margin: 0 8px 8px 0; }

	.page-template-page-floor-plan article header { position: relative; top: auto; }
	.page-template-page-floor-plan article>img { margin-top: -87px; aspect-ratio: 16 / 9; height: 500px !important; }
	.page-template-page-floor-plan .page-header h1 { color: #2E5768; font-size: 36px; text-shadow: none; }
	.page-template-page-floor-plan .post_content h2 { font-size: 28px; }

	.floor-plan { padding: 3rem 0 2rem; }
	.variations h2 { font-size: 36px; }
	.contact-cta { padding: 2rem; }
	.contact-cta h2 { font-size: 28px; }
	.similar-plans { padding: 2.5rem 0 3rem; }
	.page-template-page-build-location .post_content h1 { font-size: 28px; }
}

/* Shared layout and type scale — small tablet */
@media (max-width: 768px) {
	.footerwrap .social { flex-wrap: wrap; justify-content: center; gap: 1rem; }
	.home .our-story .where-we-build .locations>div { width: 50%; }
	.faq-accordion-heading, .faq-accordion-label h3, .zj-dropdown-title h2, .zj-dropdown-title h3 { font-size: 20px; }
	.zj-tabs-panel h2 { font-size: 28px; }
}

/* Shared layout and type scale — phone */
@media (max-width: 576px) {
	.post_content .container { padding: 2rem 15px; }
	.page-header { margin: 2rem 0; }
	.page-header h1, .page-header .h1, .prefooter-cta .h1 { font-size: 28px; }
	.page-header .subheader, .prefooter-cta .subheader, .variations .subheader { font-size: 16px; }
	#prefooter { padding: 3rem 0; }
	#prefooter h2 { font-size: 28px; }
	#prefooter p { font-size: 16px; }
	.footerwrap { padding: 2.5rem 0; }

	.page-template-page-floor-plan article>img { margin-top: -87px; aspect-ratio: 16 / 9; height: 300px !important; }
	
	.home .hero-text { width: 100%; padding: 5rem 1rem 6rem; }
	.home .hero-text h1 { font-size: 28px; }
	.home .hero-text p { font-size: 16px; }
	.home h2 { font-size: 28px; }
	.home h3 { font-size: 22px; }

	.home .our-story .promo { padding: 1.5rem; margin: 2rem 0; }
	.home .our-story .promo h3, .home .our-story .where-we-build h3 { font-size: 22px; }
	.home .our-story .testimonial { padding: 1.5rem 0; margin: 0 15px; }
	.home .our-story .testimonial p { font-size: 18px; }

	.blog-card-content, .collection-card-header, .collection-card-link, .plan-card-header, .plan-card-link { padding: 1.25rem; }
	.collection-card-content, .plan-card-content { margin: 0 1.25rem; padding: 1.25rem 0; }
	.collection-card-header .h2, .plan-card-header .h2 { font-size: 20px; }
	.collection-card-link, .plan-card-link { font-size: 16px; }
	.cards>div { width: 100%; }
	.lender-card { padding: 1.25rem; }
	#sidebar1 h4 { font-size: 24px; }

	.page-template-page-floor-plan .page-header h1 { font-size: 28px; }
	.contact-cta { padding: 1.25rem; margin: 2rem 0; }
	.contact-cta h2 { font-size: 24px; }
	.faq-accordion-label, .zj-dropdown-title { padding: 1rem; }
	.faq-accordion-content, .zj-dropdown-content { padding: 1rem; }
	.faq-accordion-heading, .faq-accordion-label h3, .zj-dropdown-title h2, .zj-dropdown-title h3 { font-size: 18px; }
	
	#inner-footer .footer-nav .col-xs-3 { width: 50%; }
}