/* New House Alliance Corp — brand overrides on top of the Tyche template */
@import 'https://fonts.googleapis.com/css?family=Playfair+Display:400,400i,700&display=swap';

:root{
	--nha-green:#2d6a27;
	--nha-green-dark:#22521d;
	--nha-navy:#1c304e;
	--nha-navy-dark:#142338;
	--nha-cream:#f6f7f3;
}

/* Header */
.main-header .header-top{ background:var(--nha-navy); }
.main-header .header-top .links-nav li,
.main-header .header-top .links-nav li a{ color:#dfe6ef; font-size:13px; text-transform:none; }
.main-header .header-top .links-nav li a:hover{ color:#ffffff; }
.main-header .header-top .links-nav .fa{ color:#8fc287; margin-right:6px; }
.main-header .header-upper .logo img{ height:78px; width:auto; }
.main-header .sticky-header .logo img{ height:46px; width:auto; margin-top:4px; }
.main-header .info-box .icon-box{ color:var(--nha-green); }
.main-header .info-box .text a{ color:inherit; }

/* Hero */
.nha-hero{
	position:relative;
	padding:150px 0 160px;
	color:#ffffff;
	background:
		linear-gradient(120deg, rgba(20,35,56,0.92) 0%, rgba(28,48,78,0.86) 50%, rgba(34,82,29,0.82) 100%),
		url(../images/photos/hero.jpg) center center / cover no-repeat,
		var(--nha-navy);
	overflow:hidden;
}
.nha-hero .roofline{
	position:absolute; left:0; right:0; bottom:-2px; width:100%; height:auto; opacity:0.10; pointer-events:none;
}
.nha-hero .eyebrow{
	display:inline-block; font-size:13px; letter-spacing:3px; text-transform:uppercase;
	color:#b9dcb2; border-bottom:2px solid var(--nha-green); padding-bottom:6px; margin-bottom:26px;
}
.nha-hero h1{
	font-family:'Playfair Display', Georgia, serif; font-style:italic; font-weight:400;
	font-size:58px; line-height:1.15; color:#ffffff; margin:0 0 22px; max-width:760px;
}
.nha-hero .lead-text{ font-size:18px; line-height:1.7; color:#dfe6ef; max-width:600px; margin-bottom:38px; }
.nha-hero .theme-btn{ margin:0 12px 12px 0; }
.nha-hero .agent-chip{
	position:relative; margin-top:10px; display:inline-flex; align-items:center;
	background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18);
	border-radius:60px; padding:8px 26px 8px 8px;
}
.nha-hero .agent-chip img{ width:64px; height:64px; border-radius:50%; border:2px solid #ffffff; margin-right:16px; }
.nha-hero .agent-chip strong{ display:block; font-size:16px; letter-spacing:1px; text-transform:uppercase; }
.nha-hero .agent-chip span{ font-size:14px; color:#dfe6ef; }
.nha-hero .agent-chip a{ color:#ffffff; }

/* Section titles */
.sec-title h2{ color:var(--nha-navy); }
.sec-title h2 strong{ color:var(--nha-green); }
.sec-title .subtitle-text{ color:var(--nha-green); }

/* Services */
.nha-services{ padding:100px 0 70px; background:#ffffff; }
.nha-service{
	position:relative; background:#ffffff; border:1px solid #e6e9ee; border-top:4px solid var(--nha-green);
	padding:42px 34px 36px; margin-bottom:30px; text-align:center; min-height:330px;
	transition:all 300ms ease;
}
.nha-service:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(28,48,78,0.12); border-top-color:var(--nha-navy); }
.nha-service .icon{
	width:84px; height:84px; line-height:84px; border-radius:50%; margin:0 auto 24px;
	background:var(--nha-cream); color:var(--nha-green); font-size:34px;
}
.nha-service h3{ font-size:22px; font-weight:700; color:var(--nha-navy); margin-bottom:14px; }
.nha-service p{ color:#666666; line-height:1.8; margin-bottom:20px; }
.nha-service .more{ color:var(--nha-green); font-weight:500; text-transform:uppercase; font-size:13px; letter-spacing:1px; }
.nha-service .more:hover{ color:var(--nha-navy); }

/* Why section */
.nha-why{ padding:100px 0; background:var(--nha-cream); }
.nha-why .text p{ font-size:16px; line-height:1.9; color:#555555; margin-bottom:24px; }
.nha-why .styled-list-one li{ margin-bottom:14px; font-size:15px; }
.nha-why .quote-card{
	position:relative; background:var(--nha-navy); color:#ffffff; padding:50px 46px; margin-top:10px;
	border-left:6px solid var(--nha-green);
}
.nha-why .quote-card .quote{
	font-family:'Playfair Display', Georgia, serif; font-style:italic; font-size:30px; line-height:1.4; margin-bottom:30px;
}
.nha-why .quote-card .sig{ display:flex; align-items:center; }
.nha-why .quote-card .sig img{ width:70px; height:70px; border-radius:50%; margin-right:18px; border:2px solid #ffffff; }
.nha-why .quote-card .sig strong{ display:block; letter-spacing:1px; text-transform:uppercase; }
.nha-why .quote-card .sig span{ color:#b9c6d6; font-size:14px; }

/* Process */
.nha-process{ padding:100px 0 70px; }
.nha-step{ text-align:center; padding:0 10px; margin-bottom:30px; }
.nha-step .num{
	width:60px; height:60px; line-height:56px; margin:0 auto 20px; border-radius:50%;
	border:2px solid var(--nha-green); color:var(--nha-green); font-size:22px; font-weight:700;
}
.nha-step h4{ font-size:18px; font-weight:700; color:var(--nha-navy); margin-bottom:10px; }
.nha-step p{ color:#666666; line-height:1.8; }

/* CTA band */
.nha-cta{ background:linear-gradient(90deg, var(--nha-green-dark), var(--nha-green)); padding:55px 0; color:#ffffff; }
.nha-cta h2{ font-family:'Playfair Display', Georgia, serif; font-style:italic; font-size:34px; color:#ffffff; margin:0 0 6px; }
.nha-cta .text{ color:#e3f0e0; font-size:16px; }
.nha-cta .btn-white{
	display:inline-block; background:#ffffff; color:var(--nha-green-dark) !important; padding:15px 34px;
	font-weight:700; text-transform:uppercase; letter-spacing:1px; font-size:14px; margin-top:8px;
}
.nha-cta .btn-white:hover{ background:var(--nha-navy); color:#ffffff !important; }

/* Contact sections */
.contact-section.extended,
.nha-contact{ background:var(--nha-navy) !important; }
.nha-contact{ padding:100px 0; }
.nha-contact .outer-box{ background:#ffffff; }
.contact-section .agent-column .basic-info .author-thumb img{ border-radius:50%; }
.contact-form-section .agent-column .basic-info .author-thumb img{ border-radius:50%; }
.info-block .trxt a{ color:inherit; }
.form-status{ display:none; padding:14px 18px; margin-bottom:20px; font-weight:500; }
.form-status.ok{ display:block; background:#e8f3e6; color:var(--nha-green-dark); border-left:4px solid var(--nha-green); }
.form-status.err{ display:block; background:#fdecec; color:#9b1c1c; border-left:4px solid #c53030; }

/* Page title */
.page-title{
	background:linear-gradient(120deg, rgba(20,35,56,0.95), rgba(34,82,29,0.88)), url(../images/photos/page-title.jpg) center / cover, var(--nha-navy) !important;
}

/* About */
.nha-about{ padding:100px 0 70px; }
.nha-about .portrait{
	text-align:center; background:var(--nha-cream); padding:50px 30px; border-top:4px solid var(--nha-green); margin-bottom:30px;
}
.nha-about .portrait img{ width:190px; height:190px; border-radius:50%; border:5px solid #ffffff; box-shadow:0 10px 30px rgba(0,0,0,0.12); margin-bottom:22px; }
.nha-about .portrait h3{ font-family:'Playfair Display', Georgia, serif; font-size:28px; color:var(--nha-green); margin-bottom:4px; }
.nha-about .portrait .role{ text-transform:uppercase; letter-spacing:2px; color:var(--nha-navy); font-size:13px; margin-bottom:20px; }
.nha-about .portrait ul li{ margin-bottom:8px; color:#555555; }
.nha-about .portrait ul li a{ color:var(--nha-navy); }
.nha-about .portrait ul li .fa{ color:var(--nha-green); width:20px; }
.nha-about .bio p{ font-size:16px; line-height:1.9; color:#555555; margin-bottom:20px; }

/* Footer */
.main-footer{ background:var(--nha-navy-dark); }
.main-footer .footer-bottom .logo img{ height:84px; width:auto; }
.main-footer .footer-contact{ margin:18px 0 14px; color:#c9d3df; font-size:15px; }
.main-footer .footer-contact a{ color:#ffffff; margin:0 12px; }
.main-footer .footer-contact .fa{ color:#8fc287; margin-right:6px; }
.main-footer .footer-links a{ color:#c9d3df; margin:0 10px; font-size:14px; }
.main-footer .footer-links a:hover{ color:#ffffff; }

@media only screen and (max-width:767px){
	.nha-hero{ padding:90px 0 100px; }
	.nha-hero h1{ font-size:38px; }
	.nha-why .quote-card .quote{ font-size:24px; }
	.nha-cta .text-right{ text-align:left; }
	.main-header .header-upper .logo img{ height:60px; }
}
.main-header .header-top .links-nav li, .main-header .header-top .links-nav li a{ text-transform:none !important; }
.nha-process .row{ display:flex; flex-wrap:wrap; }
.nha-process .row:before, .nha-process .row:after{ display:none; }

/* Properties */
.nha-props{ padding:90px 0 60px; }
.nha-props.more{ background:#f6f7f3; }
.prop-filters{ margin:-10px 0 40px; }
.prop-filters button{ background:#ffffff; border:1px solid #d6dbe3; color:#1c304e; padding:10px 22px; margin:0 5px 10px; font-weight:500; transition:all 200ms ease; }
.prop-filters button.active, .prop-filters button:hover{ background:#2d6a27; border-color:#2d6a27; color:#ffffff; }
.prop-grid{ display:flex; flex-wrap:wrap; }
.prop-grid:before, .prop-grid:after{ display:none; }
.prop-card{ display:block; background:#ffffff; border:1px solid #e6e9ee; margin-bottom:30px; transition:all 300ms ease; }
.prop-card:hover{ transform:translateY(-5px); box-shadow:0 16px 36px rgba(28,48,78,0.14); }
.prop-img, .prop-hero{ position:relative; height:210px; background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; }
.prop-img .fa, .prop-hero .fa{ font-size:54px; color:rgba(255,255,255,0.25); }
.prop-badge{ position:absolute; top:16px; left:16px; padding:5px 14px; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#ffffff; }
.prop-badge.rent{ background:#2d6a27; }
.prop-badge.sold{ background:#c0392b; }
.prop-badge.inline{ position:static; display:inline-block; margin-bottom:14px; }
.prop-body{ padding:22px 24px 24px; }
.prop-price{ font-size:22px; font-weight:700; color:#2d6a27; margin-bottom:6px; }
.prop-body h4{ font-size:18px; font-weight:700; color:#1c304e; margin-bottom:4px; }
.prop-city{ color:#777777; font-size:14px; margin-bottom:10px; }
.prop-meta{ color:#1c304e; font-size:14px; border-top:1px solid #eef0f3; padding-top:12px; }
.prop-note{ margin-top:10px; color:#666666; }
.prop-note a{ color:#2d6a27; font-weight:500; }
.nha-prop{ padding:80px 0 60px; }
.prop-hero{ height:380px; margin-bottom:30px; }
.prop-hero .fa{ font-size:90px; }
.prop-head h2{ font-size:30px; font-weight:700; color:#1c304e; margin:0 0 6px; }
.prop-head .prop-price{ font-size:28px; }
.prop-head .prop-city .fa{ color:#2d6a27; }
.prop-facts{ margin:24px 0 34px; border:1px solid #e6e9ee; background:#f6f7f3; }
.prop-facts li{ float:left; width:33.333%; padding:16px 20px; border-right:1px solid #e6e9ee; border-bottom:1px solid #e6e9ee; }
.prop-facts li span{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:1px; color:#888888; }
.prop-facts li strong{ font-size:17px; color:#1c304e; }
.prop-h3{ font-size:22px; font-weight:700; color:#1c304e; margin:0 0 16px; }
.prop-about{ font-size:16px; line-height:1.9; color:#555555; margin-bottom:34px; }
.prop-group h4{ font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#2d6a27; margin-bottom:14px; }
.prop-groups{ display:flex; flex-wrap:wrap; }
.prop-groups:before, .prop-groups:after{ display:none; }
.prop-group{ margin-bottom:20px; }
.prop-group .styled-list-one li{ margin-bottom:10px; }
.prop-source{ font-size:13px; color:#999999; margin-top:10px; }
.prop-side{ background:#1c304e; color:#ffffff; padding:36px 32px; border-top:5px solid #2d6a27; margin-bottom:20px; }
.prop-side .side-price{ font-size:30px; font-weight:700; margin-bottom:14px; }
.prop-side p{ color:#dfe6ef; line-height:1.8; margin-bottom:14px; }
.prop-side .theme-btn{ display:block; text-align:center; margin:20px 0 16px; }
.prop-side .side-phone{ display:block; text-align:center; color:#ffffff; font-size:17px; font-weight:500; }
.back-link{ color:#1c304e; font-weight:500; }
.back-link:hover{ color:#2d6a27; }
@media only screen and (max-width:767px){
	.prop-facts li{ width:50%; }
	.prop-hero{ height:240px; }
}

/* Property photos */
.prop-img.has-photo .fa, .prop-hero.has-photo .fa{ display:none; }
.prop-hero.has-photo{ cursor:zoom-in; height:440px; margin-bottom:12px; }
.prop-gallery{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.prop-gallery .pg-item{ display:block; width:calc(20% - 6.4px); aspect-ratio:4/3; overflow:hidden; background:#e6e9ee; }
.prop-gallery .pg-item img{ width:100%; height:100%; object-fit:cover; transition:transform 300ms ease; }
.prop-gallery .pg-item:hover img{ transform:scale(1.06); }
.pg-count{ font-size:13px; color:#888888; margin-bottom:26px; }
.pg-count .fa{ color:#2d6a27; }
.pg-lightbox{ display:none; position:fixed; inset:0; z-index:100000; background:rgba(10,18,30,0.94); align-items:center; justify-content:center; }
.pg-lightbox.open{ display:flex; }
.pg-lightbox img{ max-width:88vw; max-height:84vh; box-shadow:0 20px 60px rgba(0,0,0,0.5); }
.pg-lightbox button{ position:absolute; background:none; border:0; color:#ffffff; font-size:54px; line-height:1; padding:10px 18px; opacity:0.8; }
.pg-lightbox button:hover{ opacity:1; }
.pg-close{ top:14px; right:20px; font-size:44px !important; }
.pg-prev{ left:10px; top:50%; transform:translateY(-50%); }
.pg-next{ right:10px; top:50%; transform:translateY(-50%); }
.pg-num{ position:absolute; bottom:20px; left:0; right:0; text-align:center; color:#c9d3df; font-size:14px; }
@media only screen and (max-width:767px){
	.prop-gallery .pg-item{ width:calc(33.333% - 5.4px); }
	.prop-hero.has-photo{ height:260px; }
}

/* Featured property cards */
.nha-featured{ background:#f2f7f3; padding:90px 0 70px; }
.nha-props.more{ background:#f2f7f3; }
.feat-head{ margin-bottom:40px; }
.feat-sub{ font-family:'Playfair Display', Georgia, serif; font-style:italic; font-size:20px; color:#6b7a72; margin-bottom:6px; }
.feat-head h2{ font-family:'Playfair Display', Georgia, serif; font-size:52px; font-weight:700; color:#1c304e; margin:0; line-height:1.15; }
.feat-head h2 span{ color:#2d6a27; }
.feat-line{ width:70px; height:3px; background:#2d6a27; margin:24px auto 22px; }
.feat-head p{ font-size:18px; color:#4a5568; margin:0; }
.nha-featured .prop-filters, .nha-props.more .prop-filters{ margin:0 0 46px; }
.prop-filters button{ border-radius:40px; padding:13px 28px; text-transform:uppercase; letter-spacing:1.5px; font-weight:700; font-size:14px; background:#ffffff; border:1px solid #dfe5e1; color:#1c304e; }
.prop-filters button.active, .prop-filters button:hover{ background:#2d6a27; border-color:#2d6a27; color:#ffffff; }
.pcard{ display:block; background:#ffffff; border-radius:16px; overflow:hidden; margin-bottom:34px; box-shadow:0 6px 24px rgba(28,48,78,0.08); transition:transform 300ms ease, box-shadow 300ms ease; }
.pcard:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(28,48,78,0.16); }
.pcard-img{ position:relative; height:250px; background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; }
.pcard-img:after{ content:''; position:absolute; left:0; right:0; bottom:0; height:55%; background:linear-gradient(to top, rgba(0,0,0,0.62), rgba(0,0,0,0)); }
.pcard-ph{ font-size:58px; color:rgba(255,255,255,0.22); }
.pcard-img.has-photo .pcard-ph{ display:none; }
.pcard-status{ position:absolute; top:18px; left:18px; z-index:2; padding:8px 16px; border-radius:30px; font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#ffffff; }
.pcard-status.rent{ background:#2d6a27; }
.pcard-status.sold{ background:#ffffff; color:#1c304e; }
.pcard-type{ position:absolute; top:18px; right:18px; z-index:2; padding:7px 15px; border-radius:30px; font-size:13px; font-weight:600; color:#ffffff; background:rgba(255,255,255,0.22); border:1px solid rgba(255,255,255,0.35); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.pcard-price{ position:absolute; left:22px; bottom:16px; z-index:2; font-family:'Playfair Display', Georgia, serif; font-size:32px; font-weight:700; color:#ffffff; line-height:1; text-shadow:0 2px 10px rgba(0,0,0,0.3); }
.pcard-price small{ font-size:18px; font-weight:400; }
.pcard-photos{ position:absolute; right:20px; bottom:18px; z-index:2; color:#ffffff; font-size:14px; font-weight:700; display:flex; align-items:center; }
.pcard-photos svg{ width:16px; height:16px; margin-right:6px; fill:none; stroke:#ffffff; stroke-width:1.8; }
.pcard-body{ padding:26px 26px 22px; }
.pcard-body h4{ font-family:'Playfair Display', Georgia, serif; font-size:23px; font-weight:700; color:#1a1f24; line-height:1.3; margin:0 0 12px; min-height:60px; }
.pcard-addr{ display:flex; align-items:flex-start; color:#55606b; font-size:15px; line-height:1.5; padding-bottom:18px; border-bottom:1px solid #e9eeeb; margin-bottom:16px; min-height:64px; }
.pcard-addr svg{ flex:0 0 18px; width:18px; height:18px; margin:2px 8px 0 0; fill:none; stroke:#2d6a27; stroke-width:1.8; }
.pcard-stats{ display:flex; margin:0; padding:0; list-style:none; }
.pcard-stats li{ display:flex; align-items:center; font-size:15px; color:#55606b; padding:0 14px; border-left:1px solid #e9eeeb; white-space:nowrap; }
.pcard-stats li:first-child{ padding-left:0; border-left:0; }
.pcard-stats li b{ color:#1a1f24; font-weight:700; margin-right:4px; }
.pcard-stats svg{ width:20px; height:20px; margin-right:8px; fill:none; stroke:#2d6a27; stroke-width:1.6; }
.pcard-stats li.pcard-na{ color:#8a949c; font-style:italic; }
.feat-more{ margin-top:10px; }
@media only screen and (max-width:767px){
	.feat-head h2{ font-size:36px; }
	.pcard-body h4, .pcard-addr{ min-height:0; }
	.pcard-stats li{ padding:0 10px; font-size:14px; }
}
.pcard-stats{ flex-wrap:wrap; row-gap:8px; }
.pcard-stats li{ padding:0 11px; font-size:14px; }
.pcard-stats svg{ width:18px; height:18px; margin-right:6px; }
@media only screen and (min-width:992px) and (max-width:1199px){ .pcard-body{ padding:22px 20px 20px; } .pcard-stats li{ padding:0 8px; font-size:13px; } }

/* Hero photo slideshow (Atlanta photos: Unsplash License) */
.nha-hero{ background:#142338; isolation:isolate; }
.hero-slides{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero-slides span{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; animation:nhaHeroFade 21s infinite; will-change:opacity, transform; }
.hero-slides span:nth-child(1){ animation-delay:-1s; }
.hero-slides span:nth-child(2){ animation-delay:6s; }
.hero-slides span:nth-child(3){ animation-delay:13s; }
@keyframes nhaHeroFade{ 0%{ opacity:0; transform:scale(1.03); } 5%{ opacity:1; } 33%{ opacity:1; } 40%{ opacity:0; transform:scale(1.12); } 100%{ opacity:0; transform:scale(1.12); } }
.nha-hero:before{ content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(110deg, rgba(20,35,56,0.90) 0%, rgba(28,48,78,0.74) 48%, rgba(34,82,29,0.50) 100%); }
.nha-hero .roofline{ z-index:1; }
.nha-hero .auto-container{ position:relative; z-index:2; }
@media (prefers-reduced-motion: reduce){ .hero-slides span{ animation:none; } .hero-slides span:first-child{ opacity:1; } }
.page-title{ background:linear-gradient(110deg, rgba(20,35,56,0.88), rgba(28,48,78,0.72) 55%, rgba(34,82,29,0.6)), url(../images/photos/page-title.jpg) center / cover, #1c304e !important; }