/* Integration rules for GeneratePress wrappers and conversion-specific markup. */
body.hoaal-site {font-size:16px; font-weight:400; line-height:normal;}
body.hoaal-site :is(h1,h2,h3) {font-family:var(--font-display); font-weight:700;}
body.hoaal-site :is(.value-card h3,.experience-card h3,.cta-band h2,.footer-grid h3,.community-link-body h3) {font-weight:700;}
body.hoaal-site .site-content, body.hoaal-site .site-main, body.hoaal-site .inside-article, body.hoaal-site .entry-content {margin:0; padding:0; background:transparent;}
body.hoaal-site .site.grid-container {width:100%; max-width:none; margin:0;}
body.hoaal-site .site-content {display:block;}
body.hoaal-site .content-area {width:100%;}
body.hoaal-site div.site-footer:not(:has(*)) {display:none;}
body.hoaal-site .entry-content a {text-decoration:none;}
body.hoaal-site .logo-link {flex-shrink:0;}
body.hoaal-site .header-actions {flex-shrink:0;}
body.hoaal-site .mobile-toggle {padding:0; line-height:normal; box-shadow:none;}
body.hoaal-site.admin-bar header.site-header {top:32px;}
body.hoaal-site .hero-proof > span:first-child {display:block; color:var(--navy); font-size:2rem; font-weight:700; letter-spacing:-.025em;}
body.hoaal-site .community-side-caption > span:first-child {display:block; color:var(--navy); font-size:1.45rem; font-weight:700; letter-spacing:-.025em;}
body.hoaal-site .stat-card > span:first-child {display:block; margin:0; color:var(--navy); font-size:clamp(2rem,4vw,3.4rem); font-weight:700; line-height:.95; letter-spacing:-.025em;}
body.hoaal-site .info-item > span:first-child {color:var(--navy); font-weight:700;}
body.hoaal-site .phone-card > span:first-child {color:var(--navy); font-weight:700;}
body.hoaal-site .footer-grid li {list-style:none;}
body.hoaal-site .circle-btn {padding:0; line-height:1;}
body.hoaal-site .circle-btn span {font-size:22px;}
body.hoaal-site .local-faq details.cwt-accordion {margin:0;}
body.hoaal-site .local-faq summary.cwt-accordion-toggle {display:list-item; padding:0; border:0; color:var(--navy); font:inherit; font-size:1.12rem; font-weight:900; line-height:1.4; cursor:pointer; background:transparent;}
body.hoaal-site .local-faq .cwt-accordion[open] > :not(summary) {display:block;}
body.hoaal-site .local-faq .cwt-accordion:not([open]) > :not(summary) {display:none;}
body.hoaal-site .local-faq .cwt-accordion p {margin:14px 0 0; color:var(--text-body); line-height:1.75;}
body.hoaal-site .cta-band-inner {display:flex;}
/* Let the native WPForms validation and delivery run; match the supplied form skin. */
body.hoaal-site .form-card .wpforms-container {margin:26px 0 0; font-family:var(--font-body);}
body.hoaal-site .form-card .wpforms-field {padding:0; margin:0 0 16px;}
body.hoaal-site .form-card .wpforms-field-label, body.hoaal-site .form-card .wpforms-field-sublabel {font-family:inherit; color:var(--text-body-strong); font-size:16px; font-weight:850; line-height:1.4; margin:0 0 8px;}
body.hoaal-site .form-card .wpforms-field-name legend {font-size:0; margin:0; height:0; overflow:hidden;}
body.hoaal-site .form-card .wpforms-field-name .wpforms-field-row-block {display:flex; flex-direction:column;}
body.hoaal-site .form-card .wpforms-field-name .wpforms-field-sublabel {order:-1;}
body.hoaal-site .form-card .wpforms-form :is(input[type=text],input[type=email],input[type=tel],select,textarea) {width:100%; max-width:100%; height:auto; min-height:52px; border:1px solid var(--line); border-radius:16px; background:var(--surface); padding:15px 16px; color:var(--ink); font:inherit; box-shadow:none;}
body.hoaal-site .form-card .wpforms-form textarea {min-height:150px; resize:vertical;}
body.hoaal-site .form-card .wpforms-form :is(input,select,textarea):focus {border-color:var(--blue); box-shadow:0 0 0 4px var(--accent-a14); outline:none;}
body.hoaal-site .form-card .wpforms-form button[type=submit] {height:auto; min-height:58px; padding:18px 28px; border:0; border-radius:999px; background:linear-gradient(135deg,var(--blue),var(--navy)); color:var(--surface); font-family:inherit; font-size:16px; font-weight:900; box-shadow:0 14px 34px var(--accent-a24);}
body.hoaal-site .form-card .wpforms-form button[type=submit]:focus-visible {outline:3px solid var(--brand-accent); outline-offset:3px;}
body.hoaal-site .form-card .wpforms-submit-container {padding:0; margin-top:16px;}
@media(max-width:1150px) and (min-width:901px) {
 body.hoaal-site .navbar {gap:18px;}
 body.hoaal-site .logo-link img {width:200px;}
 body.hoaal-site .nav-menu {gap:18px; font-size:15px;}
 body.hoaal-site .header-actions .btn {padding:14px 18px;}
}
@media(max-width:900px) {
 body.hoaal-site .nav-menu {top:calc(100% + 1px);}
 body.hoaal-site .cta-band-inner {flex-direction:column; align-items:flex-start;}
}
@media(max-width:782px) {body.hoaal-site.admin-bar header.site-header {top:46px;}}
@media(max-width:600px) {body.hoaal-site.admin-bar header.site-header {top:0;}}
@media(prefers-reduced-motion:reduce) {body.hoaal-site *,body.hoaal-site *::before,body.hoaal-site *::after {animation:none !important; transition:none !important; scroll-behavior:auto !important;}}

body.hoaal-site .form-card .wpforms-field-name .wpforms-field-row {display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:100%;}
body.hoaal-site .form-card .wpforms-field-name .wpforms-field-row-block {width:100%; margin:0; float:none;}
@media(max-width:700px) {body.hoaal-site .form-card .wpforms-field-name .wpforms-field-row {grid-template-columns:1fr;}}

/* WPForms clearfix pseudo-elements must not occupy name-field grid cells. */
body.hoaal-site .form-card .wpforms-field-name .wpforms-field-row::before,
body.hoaal-site .form-card .wpforms-field-name .wpforms-field-row::after {display:none; content:none;}
body.hoaal-site .feature-list li {list-style:none;}

/* Real, responsive photos replace the mockup's random image backgrounds. */
body.hoaal-site .hoaal-has-photo { position: relative; isolation: isolate; overflow: hidden; background-image: none; }
body.hoaal-site .hoaal-has-photo > img.hoaal-photo { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: cover; border: 0; }
body.hoaal-site .hoaal-has-photo.community-side-image { position: sticky; }
body.hoaal-site .hoaal-has-photo.community-link-card::before,
body.hoaal-site .hoaal-has-photo.market-card::before { display: none; }
body.hoaal-site .market-card.hoaal-has-photo > img { height: 11.875rem; }
body.hoaal-site .service-card.featured.hoaal-has-photo::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(135deg, rgba(7,40,53,.89),rgba(11,68,73,.74)); }
body.hoaal-site .experience-card.hoaal-has-photo::before { z-index: 1; background: linear-gradient(to top, rgba(7,35,44,.94) 5%, rgba(7,35,44,.55) 60%, rgba(7,35,44,.12)); }
body.hoaal-site .community-feature-content { z-index: 2; }
body.hoaal-site .hoaal-place-caption { position: absolute; top: 16px; left: 16px; right: 16px; z-index: 2; width: fit-content; max-width: calc(100% - 32px); padding: 8px 12px; border-radius: 8px; background: rgba(7,35,44,.85); color: #fff; font-size: .75rem; line-height: 1.4; }
body.hoaal-site .hoaal-credit-link { display: inline-block; margin-left: 1rem; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
body.hoaal-site .community-link-card.hoaal-has-photo > img { transition: transform .6s ease; }
body.hoaal-site .community-link-card.hoaal-has-photo:hover > img { transform: scale(1.05); }
@media (max-width: 760px) { body.hoaal-site .hoaal-has-photo.community-side-image { position: relative; top: auto; } }
@media (prefers-reduced-motion: reduce) { body.hoaal-site .community-link-card.hoaal-has-photo > img { transition: none; } }
