:root{--navy:#073b4c;--blue:#087e8b;--aqua:#33c3bd;--sky:#dff6f4;--sand:#f7f4ee;--white:#fff;--ink:#15333a;--muted:#60787d;--line:#dce8e8;--shadow:0 18px 50px rgba(7,59,76,.12);--radius:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;left:12px;top:-60px;background:#fff;padding:10px;z-index:999}.skip-link:focus{top:12px}.utility-bar{background:var(--navy);color:#d8f0f0;font-size:.82rem}.utility-inner{display:flex;justify-content:space-between;padding:7px 0}.utility-inner a:hover{color:#fff}.sep{margin:0 10px}.site-header{position:relative;z-index:30;background:#fff;box-shadow:0 2px 18px rgba(0,0,0,.06)}.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;border-radius:50% 50% 50% 14%;display:grid;place-items:center;background:linear-gradient(135deg,var(--aqua),var(--blue));color:#fff;font-family:'Playfair Display';font-size:1.25rem}.brand strong{display:block;font-family:'Playfair Display';font-size:1.3rem;color:var(--navy)}.brand small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;color:var(--muted)}.site-nav{display:flex;align-items:center;gap:29px}.site-nav>a:not(.button){font-weight:600;font-size:.93rem;position:relative}.site-nav>a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--aqua);transition:.2s}.site-nav>a.active:after,.site-nav>a:hover:after{right:0}.nav-toggle{display:none;background:none;border:0;padding:10px}.nav-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:var(--navy);margin:5px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff!important;border:0;border-radius:999px;padding:14px 24px;font-weight:700;cursor:pointer;transition:.2s;box-shadow:0 8px 20px rgba(8,126,139,.2)}.button:hover{transform:translateY(-2px);background:var(--navy)}.button-small{padding:10px 18px}.button-ghost{background:transparent;border:1px solid rgba(255,255,255,.65);box-shadow:none}.button-light{background:#fff;color:var(--navy)!important}.button-row{display:flex;gap:12px;flex-wrap:wrap}.hero,.page-hero{min-height:620px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.page-hero{min-height:500px}.hero-image{position:absolute;inset:0;background-image:url('../images/hero-home.jpg');background-size:cover;background-position:center}.vivid-hero .hero-image{background-image:url('../images/vivid-hero.jpg')}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,43,56,.88) 0%,rgba(3,43,56,.58) 50%,rgba(3,43,56,.12) 100%)}.hero-content{position:relative;z-index:2;max-width:1160px}.hero-content>*{max-width:700px}.hero h1,.page-hero h1{font-family:'Playfair Display';font-size:clamp(3rem,6vw,5.3rem);line-height:1.04;margin:.2em 0}.hero p,.page-hero p{font-size:1.18rem;max-width:650px;margin-bottom:30px;color:#e7f6f5}.placeholder-image{background-color:#bfe8e5;background-image:linear-gradient(135deg,#9dded9,#e4f7f6);display:grid;place-items:center;text-align:center;color:#276c72;font-weight:700;letter-spacing:.08em}.placeholder-image span{position:relative;z-index:1;background:rgba(255,255,255,.82);padding:14px 18px;border-radius:10px}.placeholder-image small{font-weight:500;letter-spacing:0;font-size:.72rem}.section{padding:95px 0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;color:var(--blue)}.eyebrow.light{color:#83e3dc}h1,h2,h3{line-height:1.15}h2{font-family:'Playfair Display';font-size:clamp(2.2rem,4vw,3.6rem);margin:.25em 0 .55em;color:var(--navy)}h3{color:var(--navy)}p{margin-top:0}.lead{font-size:1.2rem;color:#315a61}.split-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px}.align-center{align-items:center}.text-link{display:inline-block;font-weight:700;color:var(--blue);margin-top:12px}.services-section{background:var(--sand)}.section-heading{max-width:720px;margin-bottom:44px}.section-heading.centered{text-align:center;margin:0 auto 45px}.card-grid{display:grid;gap:24px}.card-grid.three{grid-template-columns:repeat(3,1fr)}.service-card{background:#fff;border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);border:1px solid #edf3f3}.service-card .icon{font-size:2rem;color:var(--aqua)}.service-card h3{font-size:1.3rem}.vivid-feature{background:linear-gradient(145deg,#e7faf8,#fff)}.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}.feature-grid.reverse{grid-template-columns:.95fr 1.05fr}.feature-photo{min-height:570px;border-radius:50% 50% 12px 12px;box-shadow:var(--shadow);background-image:url('../images/vivid-feature.jpg');background-size:cover;background-position:center}.stats{display:flex;gap:30px;padding:25px 0;margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats div{display:flex;flex-direction:column}.stats strong{font-size:1.35rem;color:var(--navy)}.stats span{font-size:.78rem;color:var(--muted)}.areas-section{background:var(--navy);color:#dceff0}.areas-section h2{color:#fff}.area-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.area-list span{padding:16px 18px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.05)}.cta-band{background:linear-gradient(110deg,var(--blue),var(--aqua));padding:62px 0;color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-inner h2{color:#fff;margin-bottom:0;font-size:2.7rem}.anchor-nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.anchor-nav .container{display:flex;justify-content:center;gap:34px;padding:15px}.anchor-nav a{font-size:.88rem;font-weight:700;color:var(--navy)}.quick-facts{padding:0 0 90px}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);background:var(--navy);border-radius:var(--radius);overflow:hidden}.facts-grid div{padding:28px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;color:#fff}.facts-grid strong{font-size:1.55rem}.facts-grid span{color:#bcd8db}.amenity-section{background:var(--sand)}.amenity-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.amenity-grid article{background:#fff;padding:30px;border-radius:var(--radius);box-shadow:var(--shadow)}.amenity-grid ul,.check-list{padding-left:20px}.amenity-grid li,.check-list li{margin:7px 0}.photo-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:20px;align-items:center}.photo-grid>div{height:330px;border-radius:var(--radius)}.photo-grid .tall{height:440px}.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.builder-grid article{padding:38px;border-top:4px solid var(--aqua);background:#fff;box-shadow:var(--shadow);border-radius:0 0 var(--radius) var(--radius)}.builder-number{color:var(--aqua);font-weight:700}.notice{margin-top:32px;background:#e7f8f6;padding:24px;border-left:5px solid var(--blue)}.location-section{background:#f8fbfb}.map-card{min-height:420px;background:var(--navy);border-radius:var(--radius);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.map-card span{color:#73dfd8;text-transform:uppercase;letter-spacing:.15em}.map-card strong{font-family:'Playfair Display';font-size:2rem}.map-lines{position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 50px rgba(255,255,255,.03),0 0 0 100px rgba(255,255,255,.02)}.representation-section{background:linear-gradient(135deg,var(--navy),#075c68);color:#d9eeee}.representation-section h2{color:#fff}.representation-card{background:rgba(255,255,255,.1);padding:38px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.16)}.representation-card h3{color:#fff}.phone-link{display:block;margin-top:18px;font-size:1.3rem;font-weight:700}.fine-print{font-size:.82rem;color:var(--muted)}.contact-hero{padding:90px 0;background:linear-gradient(115deg,var(--navy),var(--blue));color:#fff}.contact-hero h1{font-family:'Playfair Display';font-size:4rem;margin:.1em 0}.contact-hero p{font-size:1.15rem}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.contact-method{padding:20px 0;border-bottom:1px solid var(--line)}.contact-method span{display:block;text-transform:uppercase;font-size:.72rem;letter-spacing:.15em;color:var(--muted)}.contact-method a{font-size:1.35rem;color:var(--navy);font-weight:700}.experience-box{margin-top:30px;background:var(--sky);padding:24px;border-radius:var(--radius)}.experience-box p{margin:5px 0 0}.form-card{padding:40px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}.form-card h2{font-size:2.3rem}.contact-form label{display:block;font-size:.86rem;font-weight:700;color:var(--navy)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;margin-bottom:18px;padding:13px;border:1px solid #bdd1d3;border-radius:8px;font:inherit;background:#fff}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--aqua);border-color:transparent}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}.consent input{width:auto;margin:5px 0}.alert{padding:16px;border-radius:8px;margin:20px 0}.alert.success{background:#e4f7ea;color:#176333}.alert.error{background:#fff0ef;color:#8a2c24}.honeypot{position:absolute;left:-9999px}.site-footer{background:#052d3a;color:#b9d0d3;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:60px}.footer-grid h2{font-family:inherit;font-size:1rem;color:#fff}.footer-grid a,.footer-grid span{display:block;margin:7px 0}.footer-brand{font-family:'Playfair Display';font-size:1.8rem;color:#fff}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;margin-top:40px;font-size:.78rem}
@media(max-width:850px){.utility-inner>span{display:none}.utility-inner{justify-content:center}.nav-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:88px;background:#fff;padding:24px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.site-nav.open{display:flex}.site-nav>a{text-align:center}.hero,.page-hero{min-height:560px}.split-grid,.feature-grid,.feature-grid.reverse,.contact-grid{grid-template-columns:1fr;gap:40px}.card-grid.three{grid-template-columns:1fr}.feature-photo{min-height:420px}.facts-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr}.photo-grid>div,.photo-grid .tall{height:300px}.builder-grid,.amenity-grid{grid-template-columns:1fr}.anchor-nav{display:none}.cta-inner{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}

/* Shared dropdown navigation */
.site-nav.balanced-site-nav{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:2px;overflow:visible;font-size:14px;max-width:none;flex:1;margin-left:0;margin-right:0;flex-wrap:nowrap}
.balanced-site-nav>a{padding:10px 8px}
.balanced-site-nav>.bn-group{position:relative}
.balanced-site-nav>.bn-group>button{font:inherit;font-weight:600;color:inherit;background:none;border:0;padding:10px 8px;cursor:pointer}
.balanced-site-nav .bn-menu{display:none;position:absolute;z-index:1000;top:100%;left:0;min-width:220px;padding:8px;background:#fff;border:1px solid #d6dfe2;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.balanced-site-nav .bn-menu a{display:block;padding:9px 12px;white-space:nowrap;color:var(--ink)}
.balanced-site-nav .bn-group:hover .bn-menu,.balanced-site-nav .bn-group:focus-within .bn-menu,.balanced-site-nav .bn-group.open .bn-menu{display:block}
@media(max-width:900px){.site-nav.balanced-site-nav{display:none!important;flex-direction:column!important;align-items:stretch;margin:0}.site-nav.balanced-site-nav.open{display:flex!important}.balanced-site-nav>.bn-group{width:100%}.balanced-site-nav>.bn-group>button{width:100%;text-align:center}.balanced-site-nav .bn-menu{position:static;box-shadow:none;border-width:1px 0}.balanced-site-nav .bn-group:hover .bn-menu{display:none}.balanced-site-nav .bn-group.open .bn-menu,.balanced-site-nav .bn-group:focus-within .bn-menu{display:block}}
@media(max-width:560px){.container{width:min(100% - 28px,1160px)}.section{padding:70px 0}.brand small{display:none}.brand strong{font-size:1.1rem}.hero h1,.page-hero h1{font-size:3rem}.button-row{flex-direction:column;align-items:flex-start}.stats{display:grid;grid-template-columns:1fr 1fr}.facts-grid{grid-template-columns:1fr}.area-list,.field-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.contact-hero h1{font-size:3rem}.form-card{padding:24px}.utility-inner div{font-size:.74rem}}




.photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.gallery-photo {
    height: 320px;
    overflow: hidden;
    border-radius: 18px;
}

.gallery-photo.tall {
    height: 400px;
}

.gallery-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

@media (max-width: 800px) {
    .photo-grid {
        grid-template-columns: 1fr;
    }

    .gallery-photo,
    .gallery-photo.tall {
        height: 280px;
    }
}

.country-lakes-hero .hero-image {
    background-image: url('../images/country-lakes-lake.jpg');
    background-position: center 43%;
}

.country-lakes-hero {
    min-height: 410px;
}

.country-lakes-hero .hero-content {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 28px;
    padding-bottom: 92px;
}

.country-lakes-hero .button-row {
    position: absolute;
    right: 0;
    bottom: 26px;
    left: 0;
    justify-content: space-between;
    max-width: none;
}

.video-section {
    background: linear-gradient(145deg, #e7faf8, #fff);
}

.video-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--navy);
    box-shadow: var(--shadow);
}

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

.community-photo-card {
    min-height: 420px;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
}

.community-photo-card img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}

.featured-properties-section {
    background: #f8fbfb;
    padding-top: 80px;
}

.featured-properties-section .section-heading {
    max-width: 900px;
}

.property-section-intro {
    margin-top: 22px;
    padding: 20px 24px;
    border-left: 5px solid var(--blue);
    border-radius: 0 12px 12px 0;
    background: #fff;
    box-shadow: 0 8px 24px rgba(7,59,76,.08);
    color: #315a61;
    font-size: 1.05rem;
}

.property-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.property-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.property-card > img {
    width: 100%;
    height: 100%;
    min-height: 230px;
    object-fit: cover;
}

.property-card-copy { padding: 28px; }
.property-price { color: var(--blue); font-size: 1.35rem; font-weight: 700; }
.property-card h3 { margin: 7px 0 2px; font-size: 1.45rem; }
.property-city { color: var(--muted); margin-bottom: 14px; }
.property-details { color: var(--navy); font-weight: 700; }
.property-row { display: grid; grid-template-columns: minmax(250px, 320px) minmax(0, 1fr) 220px; align-items: stretch; }
.property-card-action { display: flex; align-items: center; justify-content: center; padding: 28px; border-left: 1px solid var(--line); background: #f4fbfa; }
.property-card-action .button { width: 100%; text-align: center; }
.property-card-buttons { display:flex; width:100%; flex-direction:column; gap:12px; }
.property-card-buttons .property-tour-trigger { background:var(--navy); }
.property-card-buttons .property-tour-trigger:hover,.property-card-buttons .property-tour-trigger:focus { background:var(--blue); }

@media (max-width: 850px) {
    .country-lakes-hero { min-height: 440px; }
    .country-lakes-hero .hero-content { padding-bottom: 108px; }
    .property-row { grid-template-columns: 240px minmax(0, 1fr); }
    .property-card-action { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); }
    .property-card-action .button { width: auto; }
}

.contact-section-top { padding-top:48px; }
.contact-section-top .contact-info h1 { margin:.2em 0 .45em; color:var(--navy); font-family:'Playfair Display'; font-size:clamp(2.7rem,5vw,4.2rem); line-height:1.08; }
.button-outline-light { background:transparent; color:#fff!important; border:2px solid rgba(255,255,255,.8); box-shadow:none; }
.button-outline-light:hover,.button-outline-light:focus { background:#fff; color:var(--navy)!important; }
.town-map { width:min(100%,430px); margin-top:26px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); background:#eef5f5; }
.town-map iframe { display:block; width:100%; height:280px; border:0; }
.town-communities { background:#fff; }
.town-community-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.town-community-card { display:flex; flex-direction:column; gap:8px; padding:26px; border:1px solid var(--line); border-top:4px solid var(--aqua); border-radius:12px; background:#fff; box-shadow:var(--shadow); }
.town-community-card strong { color:var(--navy); font-family:'Playfair Display'; font-size:1.45rem; }
.town-community-card span { color:var(--blue); font-weight:700; }
.town-community-card:hover,.town-community-card:focus { transform:translateY(-2px); border-top-color:var(--blue); }
.town-community-empty { padding:28px; border-radius:12px; background:var(--sky); }

@media (max-width: 620px) {
    .country-lakes-hero { min-height: 520px; }
    .country-lakes-hero .hero-content { padding-bottom: 142px; }
    .country-lakes-hero .button-row { align-items: stretch; bottom: 20px; }
    .country-lakes-hero .button-row .button { width: 100%; }
    .property-row { grid-template-columns: 1fr; }
    .property-card > img { height: 240px; min-height: 0; }
}

.modal-open { overflow: hidden; }
.gallery-modal[hidden] { display: none; }
.gallery-modal { position: fixed; inset: 0; z-index: 1000; display: grid; grid-template-columns: 64px minmax(0, 1100px) 64px; align-items: center; justify-content: center; gap: 12px; padding: 30px; background: rgba(2, 22, 29, .94); }
.gallery-modal figure { margin: 0; max-height: calc(100vh - 60px); display: flex; flex-direction: column; align-items: center; }
.gallery-modal-image { max-width: 100%; max-height: calc(100vh - 120px); object-fit: contain; border-radius: 8px; background: #fff; }
.gallery-modal figcaption { width: 100%; display: flex; justify-content: space-between; gap: 20px; padding-top: 12px; color: #fff; }
.gallery-close,.gallery-prev,.gallery-next { border: 0; color: #fff; background: rgba(255,255,255,.14); cursor: pointer; }
.gallery-close { position: absolute; top: 16px; right: 20px; width: 46px; height: 46px; border-radius: 50%; font-size: 2rem; line-height: 1; }

.video-modal[hidden] { display: none; }
.video-modal { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 32px; background: rgba(2,22,29,.88); }
.video-modal-panel { position: relative; width: min(900px, 88vw); max-height: calc(100vh - 64px); overflow: hidden; border: 2px solid #fff; border-radius: 14px; background: var(--navy); box-shadow: 0 24px 70px rgba(0,0,0,.45); }
.video-modal-toolbar { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 12px 10px 22px; color: #fff; }
.video-modal-toolbar strong { font-size: 1.1rem; }
.video-modal-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: calc(100vh - 132px); overflow: hidden; background: #000; }
.video-modal-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-modal-close { flex: 0 0 auto; min-height: 44px; padding: 8px 15px; border: 2px solid #fff; border-radius: 8px; background: #fff; color: var(--navy); font: inherit; font-weight: 700; cursor: pointer; }
.video-modal-close span { margin-right: 6px; font-size: 1.45rem; line-height: .7; vertical-align: -2px; }
.video-modal-close:hover,.video-modal-close:focus { background: var(--blue); color: #fff; outline: 3px solid rgba(255,255,255,.5); }

@media (max-width: 620px) {
    .video-modal { padding: 12px; }
    .video-modal-panel { width: 96vw; max-height: calc(100vh - 24px); }
    .video-modal-toolbar { min-height: 58px; padding: 7px; }
    .video-modal-toolbar strong { display: none; }
    .video-modal-close { width: 100%; }
    .video-modal-frame { max-height: calc(100vh - 84px); }
}
.gallery-prev,.gallery-next { width: 56px; height: 70px; border-radius: 12px; font-size: 2rem; }
.gallery-close:hover,.gallery-close:focus,.gallery-prev:hover,.gallery-prev:focus,.gallery-next:hover,.gallery-next:focus { background: var(--blue); outline: 2px solid #fff; }

@media (max-width: 700px) {
    .gallery-modal { grid-template-columns: 48px minmax(0, 1fr) 48px; gap: 5px; padding: 60px 8px 20px; }
    .gallery-prev,.gallery-next { width: 44px; height: 58px; }
    .gallery-modal figcaption { font-size: .84rem; }
}

.swfhomes-brand img { width: 220px; height: 78px; object-fit: contain; }
.community-tour-link { display: flex; justify-content: center; margin-top: 34px; }
.form-card-dark { background: rgba(255,255,255,.12); }
.form-card-dark .contact-form label { color: #fff; }
.form-card-dark .contact-form input,.form-card-dark .contact-form textarea { background: #fff; color: var(--ink); }
.form-card-dark .form-contact-note { margin: 18px 0 0; color: #d9eeee; }
.form-card-dark .form-contact-note a { color: #fff; font-weight: 700; text-decoration: underline; }
.service-card-link { display: block; transition: transform .2s, box-shadow .2s; }
.service-card-link:hover,.service-card-link:focus { transform: translateY(-5px); box-shadow: 0 22px 55px rgba(7,59,76,.18); outline: 2px solid var(--aqua); }
.service-card-link span { color: var(--blue); font-weight: 700; }
.around-web-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.around-web-grid .service-card { padding:22px 24px; border-radius:12px; box-shadow:0 10px 28px rgba(7,59,76,.09); }
.around-web-grid .service-card h2 { margin:0 0 8px; font-size:1.35rem; }
.around-web-grid .service-card p { margin:0 0 8px; font-size:.93rem; line-height:1.5; }
.around-web-grid .service-card span { font-size:.9rem; }
.service-page-hero { padding: 100px 0; background: linear-gradient(115deg,var(--navy),var(--blue)); color: #fff; }
.service-page-hero h1 { max-width: 850px; margin: .18em 0; font-family: 'Playfair Display'; font-size: clamp(2.7rem,5vw,4.7rem); }
.service-page-hero p { max-width: 760px; font-size: 1.2rem; color: #e7f6f5; }
.service-page-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: start; }
.service-page-grid article { font-size: 1.08rem; }
.service-page-grid aside { padding: 34px; border-radius: var(--radius); background: var(--sky); box-shadow: var(--shadow); }
.service-page-grid aside h2 { font-size: 2rem; }
.service-page-grid aside .phone-link { color: var(--navy); }
.utility-bar { font-size: 1rem; }
.nav-wrap { width:min(1360px,calc(100% - 32px)); height: auto; min-height: 118px; padding-top: 10px; padding-bottom: 10px; }
.swfhomes-brand { flex:0 0 240px; }
.swfhomes-brand img { width: 240px; height: 100px; }
.site-nav { max-width:none; flex:1; margin-left:0; margin-right:55px; flex-wrap: wrap; justify-content: flex-end; gap: 10px 18px; }
.site-nav > a:not(.button) { font-size: 1.25rem; }
.site-nav > .button { font-size: 1.15rem; }
.service-page-content h1 { margin: 0 0 20px; font-family: 'Playfair Display'; color: var(--navy); font-size: clamp(2.6rem,5vw,4.3rem); line-height: 1.08; }

@media (max-width: 850px) {
    .nav-wrap { height: 104px; }
    .swfhomes-brand { flex:0 1 auto; }
    .swfhomes-brand img { width: 185px; height: 88px; }
    .site-nav { top: 104px; max-width: none; margin-left:0; margin-right:0; flex-wrap: nowrap; }
    .service-page-grid { grid-template-columns: 1fr; gap: 35px; }
}

.wildblue-hero {
    min-height: 430px;
    background: linear-gradient(125deg, #052d3a 0%, #087e8b 55%, #33c3bd 100%);
}
.wildblue-hero-pattern {
    position: absolute;
    inset: 0;
    overflow: hidden;
    opacity: .32;
    background:
        radial-gradient(circle at 82% 25%, transparent 0 115px, rgba(255,255,255,.28) 116px 119px, transparent 120px),
        radial-gradient(circle at 88% 68%, transparent 0 190px, rgba(255,255,255,.18) 191px 194px, transparent 195px),
        linear-gradient(145deg, transparent 58%, rgba(255,255,255,.12) 58% 61%, transparent 61%);
}
.wildblue-hero .hero-content { position: relative; }
.wildblue-facts { background: #fff; }
.wildblue-location { background: linear-gradient(145deg, #e7faf8, #fff); }
.miromar-hero {
    min-height: 430px;
    background-color: #073b4c;
    background-image: linear-gradient(90deg, rgba(3,43,56,.88) 0%, rgba(3,43,56,.58) 52%, rgba(3,43,56,.2) 100%), url('../images/miromar-lakes-banner.png');
    background-size: cover;
    background-position: center;
}
.miromar-hero-pattern {
    display: none;
}
.miromar-hero .hero-content { position: relative; }
.miromar-facts { background: #fff; }
.miromar-homes { background: linear-gradient(145deg, #e7faf8, #fff); }
.verandah-hero { min-height:430px; background:linear-gradient(125deg,#073b4c 0%,#147d78 50%,#7aa66c 100%); }
.verandah-hero-pattern { position:absolute; inset:0; opacity:.3; background:radial-gradient(ellipse at 84% 32%,transparent 0 105px,rgba(255,255,255,.22) 106px 110px,transparent 111px),linear-gradient(145deg,transparent 56%,rgba(255,255,255,.14) 56% 59%,transparent 59%); }
.verandah-hero .hero-content { position:relative; }
.verandah-facts { background:#fff; }
.verandah-golf { background:linear-gradient(145deg,#eef9f7,#fff); }
.river-hall-hero { min-height:430px; background:linear-gradient(125deg,#073b4c 0%,#176f75 52%,#779b68 100%); }
.river-hall-hero-pattern { position:absolute; inset:0; opacity:.3; background:radial-gradient(ellipse at 82% 28%,transparent 0 100px,rgba(255,255,255,.2) 101px 106px,transparent 107px),linear-gradient(145deg,transparent 56%,rgba(255,255,255,.13) 56% 59%,transparent 59%); }
.river-hall-hero .hero-content { position:relative; }
.river-hall-facts { background:#fff; }
.river-hall-golf,.river-hall-costs { background:linear-gradient(145deg,#eef9f7,#fff); }
.colonial-hero { min-height:430px; background:linear-gradient(125deg,#073b4c 0%,#176f75 48%,#829867 100%); }
.colonial-hero-pattern { position:absolute; inset:0; opacity:.3; background:radial-gradient(circle at 84% 35%,transparent 0 105px,rgba(255,255,255,.22) 106px 110px,transparent 111px),linear-gradient(150deg,transparent 57%,rgba(255,255,255,.14) 57% 60%,transparent 60%); }
.colonial-hero .hero-content { position:relative; }
.colonial-facts { background:#fff; }
.colonial-membership { background:linear-gradient(145deg,#eef9f7,#fff); }
.membership-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.membership-grid article { background:#fff; border:1px solid var(--line); border-top:4px solid var(--blue); border-radius:0 0 var(--radius) var(--radius); padding:32px; box-shadow:var(--shadow); }
.membership-grid h3 { margin-top:0; font-family:'Playfair Display'; color:var(--navy); font-size:2rem; }
.babcock-hero { min-height: 430px; background: linear-gradient(125deg,#073b4c 0%,#087e8b 52%,#4fbf83 100%); }
.babcock-hero-pattern { position:absolute; inset:0; opacity:.3; background:radial-gradient(circle at 82% 35%,transparent 0 115px,rgba(255,255,255,.24) 116px 120px,transparent 121px),linear-gradient(150deg,transparent 58%,rgba(255,255,255,.13) 58% 61%,transparent 61%); }
.babcock-hero .hero-content { position:relative; }
.babcock-community-tabs { align-items:center; max-width:none!important; }
@media (min-width:900px) { .babcock-community-tabs { flex-wrap:nowrap; } }
.babcock-facts { background:#fff; }
.babcock-homes { background:linear-gradient(145deg,#e7faf8,#fff); }
.babcock-neighborhoods { background:linear-gradient(145deg,#eef9f7,#fff); }
.neighborhood-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.neighborhood-grid article { background:#fff; border:1px solid var(--line); border-top:4px solid var(--blue); border-radius:0 0 var(--radius) var(--radius); padding:27px; box-shadow:var(--shadow); }
.neighborhood-grid h3 { margin:0 0 10px; font-size:1.32rem; }
.neighborhood-grid h3 a { color:var(--navy); text-decoration:underline; text-decoration-color:var(--aqua); text-decoration-thickness:2px; text-underline-offset:4px; }
.neighborhood-grid h3 a:hover { color:var(--blue); }
.neighborhood-grid p { margin:0; }
.neighborhood-disclaimer { margin-top:28px; }
.babcock-golf { background:#fff; }
.golf-course-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.golf-course-grid article { background:linear-gradient(145deg,#073b4c,#087e8b); color:#e7f6f5; border-radius:var(--radius); padding:38px; box-shadow:var(--shadow); }
.golf-course-grid h3 { color:#fff; font-family:'Playfair Display'; font-size:2rem; margin:.35em 0 .65em; }
.golf-course-grid .eyebrow { color:#83e3dc; }
.golf-course-grid p:last-child { margin-bottom:0; }
.golf-disclaimer { margin-top:24px; text-align:center; }
.new-construction-intro { padding:52px 0 0; }
.new-construction-intro article { max-width:900px; }
.new-construction-intro .editable-copy:empty { display:none; }
.new-home-buyer-notice { background:#fff; padding-top:18px; padding-bottom:75px; }
.swfhomes-feature { background:linear-gradient(145deg,#eef9f7,#fff); }
.area-list a { padding:16px 18px; border:1px solid rgba(255,255,255,.14); border-radius:10px; background:rgba(255,255,255,.05); }
.area-list a:hover,.area-list a:focus { background:rgba(255,255,255,.14); border-color:var(--aqua); }
.town-hero { padding:82px 0; background:linear-gradient(120deg,var(--navy),var(--blue)); color:#fff; }
.town-hero h1 { max-width:850px; margin:.18em 0; color:#fff; font-family:'Playfair Display'; font-size:clamp(2.8rem,5vw,4.8rem); }
.town-hero p { max-width:760px; margin-bottom:28px; color:#e7f6f5; font-size:1.18rem; }
.town-overview .editable-copy { font-size:1.05rem; }
.town-properties { background:var(--sand); }
.town-property-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; }
.new-home-notice-card { border:2px solid var(--blue); border-radius:var(--radius); padding:36px 40px; background:linear-gradient(145deg,#f2fbfa,#fff); box-shadow:var(--shadow); }
.new-home-notice-header { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:34px; align-items:start; margin-bottom:18px; }
.new-home-notice-card h2 { max-width:760px; font-size:clamp(1.9rem,3.4vw,2.75rem); margin:.25em 0 0; }
.new-home-notice-contact { display:flex; flex-direction:column; align-items:stretch; gap:10px; padding:18px; background:var(--sky); border-radius:14px; text-align:center; }
.new-home-notice-contact strong { color:var(--navy); font-size:1rem; }
.new-home-notice-contact .button { padding:10px 15px; }
.notice-phone { color:var(--navy); font-size:1.05rem; font-weight:700; white-space:nowrap; }
.new-home-notice-card h3 { margin-top:28px; }
.new-home-benefits { display:grid; grid-template-columns:1fr 1fr; gap:13px 32px; padding-left:22px; }
.new-home-callout { margin:25px 0 0; padding-top:20px; border-top:1px solid var(--line); color:var(--navy); }
.back-to-top { position:fixed; right:22px; bottom:22px; z-index:45; display:flex; align-items:center; gap:8px; background:var(--blue); color:#fff; border:2px solid #fff; border-radius:999px; padding:12px 18px; font-weight:700; box-shadow:0 8px 25px rgba(7,59,76,.3); opacity:0; visibility:hidden; transform:translateY(12px); pointer-events:none; transition:.2s; }
.back-to-top.visible { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.back-to-top:hover,.back-to-top:focus { background:var(--navy); color:#fff; }
.back-to-top span { font-size:1.25rem; line-height:1; }
.contact-us-button {
    background: var(--blue) !important;
    color: #fff !important;
    border: 2px solid var(--blue);
}
.contact-us-button:hover,.contact-us-button:focus { background: var(--navy) !important; border-color: var(--navy); }
.community-full-form .field-row { gap: 14px; }
.community-full-form input,.community-full-form textarea { margin-bottom: 13px; }
.required-notice { color: var(--navy); font-weight: 700; }
.required-mark { color: #ff4d4d; font-size: 1.25em; font-weight: 800; line-height: 1; }
.community-form-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 8px; }
.community-form-heading h3,.community-form-heading p { margin: 0; color: #fff; }
.community-form-heading p { flex: 0 0 auto; font-weight: 700; }
.representation-section [id$="-form"] { scroll-margin-top: 95px; }
.community-video-trigger { background: var(--blue); color: #fff!important; border-color: var(--blue); }
.community-video-trigger:hover,.community-video-trigger:focus { background: var(--navy); border-color: var(--navy); }
.site-nav { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.nav-row { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.nav-row-communities { gap: 15px; }
.nav-row-communities > a { white-space: nowrap; }
.nav-row-services { align-self: flex-end; }
.nav-row-services > a { white-space:nowrap; }
.nav-row > a:not(.button) { position: relative; font-size: 1.15rem; font-weight: 600; }
.nav-row > a:not(.button):after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 2px; background: var(--aqua); transition: .2s; }
.nav-row > a.active:after,.nav-row > a:hover:after { right: 0; }
.communities-hero { min-height:auto; padding:36px 0 40px; background:linear-gradient(115deg,var(--navy),var(--blue)); }
.communities-hero .hero-content { max-width:none; }
.communities-hero .hero-content > * { max-width:none; }
.communities-hero h1 { margin:0 0 7px; font-size:clamp(2.2rem,4vw,3.35rem); line-height:1.08; }
.communities-hero p { max-width:900px; margin:0; font-size:1.05rem; }
.community-directory-section { padding-top:52px; background:var(--sand); }
.community-alphabet { display: flex; flex-wrap: wrap; gap: 8px; margin: -12px 0 38px; padding: 18px; border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.community-alphabet a,.community-alphabet span { display: grid; place-items: center; width: 34px; height: 38px; border-radius: 6px; font-size: 1.05rem; font-weight: 700; }
.community-alphabet a { background: var(--blue); color: #fff; }
.community-alphabet a:hover,.community-alphabet a:focus { background: var(--navy); outline: 2px solid var(--aqua); }
.community-alphabet span { background: #eef2f2; color: #9aa8aa; }
.community-directory-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; align-items: start; }
.community-directory-column { display: flex; flex-direction: column; gap: 28px; }
.community-letter-group { padding: 26px; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); border-top: 4px solid var(--aqua); }
.community-letter-group h2 { margin: 0 0 12px; font-size: 2.3rem; }
.community-letter-group a { display: block; padding: 10px 0; border-top: 1px solid var(--line); color: var(--navy); font-size: 1.12rem; font-weight: 700; }
.community-letter-group a:hover,.community-letter-group a:focus { color: var(--blue); text-decoration: underline; }

.community-videos-hero { padding:72px 0; background:linear-gradient(115deg,var(--navy),var(--blue)); color:#fff; }
.community-videos-hero h1 { margin:.12em 0; color:#fff; font-family:'Playfair Display'; font-size:clamp(2.6rem,5vw,4.4rem); }
.community-videos-hero p { max-width:780px; margin:0; color:#e4f5f4; font-size:1.08rem; }
.community-video-library { background:var(--sand); }
.community-video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.community-video-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); }
.community-video-thumbnail { position:relative; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; background:var(--navy); }
.community-video-thumbnail img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.community-video-thumbnail:hover img,.community-video-thumbnail:focus img { transform:scale(1.035); }
.community-video-thumbnail:focus { outline:3px solid var(--aqua); outline-offset:-3px; }
.community-video-play { position:absolute; left:50%; top:50%; display:grid; place-items:center; width:52px; height:52px; padding-left:4px; transform:translate(-50%,-50%); border:2px solid #fff; border-radius:50%; background:rgba(7,59,76,.88); color:#fff; font-size:1.25rem; box-shadow:0 8px 24px rgba(0,0,0,.32); }
.community-video-copy { padding:20px 22px 23px; }
.community-video-copy h2 { margin:0 0 9px; font-size:1.38rem; }
.community-video-copy p { margin-bottom:7px; font-size:.92rem; line-height:1.5; }
.community-video-copy .text-link { margin-top:7px; font-size:.9rem; }

@media (max-width: 620px) {
    .wildblue-hero { min-height: 510px; }
    .miromar-hero { min-height: 510px; }
    .babcock-hero { min-height: 510px; }
    .verandah-hero,.colonial-hero,.river-hall-hero { min-height: 510px; }
    .membership-grid { grid-template-columns:1fr; }
    .neighborhood-grid { grid-template-columns:1fr; }
    .golf-course-grid { grid-template-columns:1fr; }
    .new-home-benefits { grid-template-columns:1fr; }
    .new-home-notice-card { padding:28px; }
    .new-home-notice-header { grid-template-columns:1fr; gap:20px; }
    .new-home-notice-contact { align-items:flex-start; text-align:left; max-width:230px; }
    .babcock-community-tabs { flex-direction:column; align-items:flex-start; }
    .babcock-community-tabs .button { width:100%; max-width:340px; }
    .back-to-top { right:14px; bottom:14px; padding:11px 15px; }
    .community-form-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
    .town-map { width:100%; }
    .town-map iframe { height:280px; }
    .town-community-grid { grid-template-columns:1fr; }
}
@media (max-width: 850px) {
    .site-nav { display: none; align-items: stretch; }
    .site-nav.open { display: flex; }
    .nav-row { flex-direction: column; align-items: stretch; gap: 12px; }
    .nav-row > a { text-align: center; }
    .community-directory-grid { grid-template-columns: 1fr; }
    .community-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .around-web-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
    .around-web-grid { grid-template-columns:1fr; }
    .community-video-grid { grid-template-columns:1fr; }
}

/* Centered site footer */
.footer-main { text-align:center; }
.footer-explore h2 { margin:0 0 18px; color:#fff; font-family:inherit; font-size:1rem; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 30px; max-width:1000px; margin:0 auto; }
.footer-links a { color:#cfe1e3; white-space:nowrap; }
.footer-links a:hover,.footer-contact a:hover { color:#fff; }
.footer-contact { margin-top:34px; padding-top:28px; border-top:1px solid rgba(255,255,255,.1); }
.footer-contact .footer-brand { font-size:1.55rem; }
.footer-contact-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; margin-top:10px; }
.footer-contact-links a { color:#cfe1e3; }
.footer-bottom { justify-content:center; flex-wrap:wrap; gap:10px 24px; text-align:center; }
@media(max-width:560px){
    .footer-links { gap:9px 18px; }
    .footer-contact-links { flex-direction:column; gap:4px; }
}

/* October 4, 2026: sitewide dropdown header */
.site-nav.balanced-site-nav{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:2px!important;overflow:visible!important;font-size:14px!important;max-width:none!important;flex:1!important;margin-left:0!important;margin-right:0!important;flex-wrap:nowrap!important}
.balanced-site-nav>a{padding:10px 8px!important;font-size:14px!important}
.balanced-site-nav>.bn-group{position:relative}
.balanced-site-nav>.bn-group>button{font:inherit;font-size:14px;font-weight:600;color:inherit;background:none;border:0;padding:10px 8px;cursor:pointer}
.balanced-site-nav .bn-menu{display:none;position:absolute;z-index:1000;top:100%;left:0;min-width:220px;padding:8px;background:#fff;border:1px solid #d6dfe2;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.balanced-site-nav .bn-menu a{display:block;padding:9px 12px;white-space:nowrap;color:var(--ink)}
.balanced-site-nav .bn-group:hover .bn-menu,.balanced-site-nav .bn-group:focus-within .bn-menu,.balanced-site-nav .bn-group.open .bn-menu{display:block}
@media(max-width:900px){.site-nav.balanced-site-nav{display:none!important;flex-direction:column!important;align-items:stretch!important;margin:0!important}.site-nav.balanced-site-nav.open{display:flex!important}.balanced-site-nav>.bn-group{width:100%}.balanced-site-nav>.bn-group>button{width:100%;text-align:center}.balanced-site-nav .bn-menu{position:static;box-shadow:none;border-width:1px 0}.balanced-site-nav .bn-group:hover .bn-menu{display:none}.balanced-site-nav .bn-group.open .bn-menu,.balanced-site-nav .bn-group:focus-within .bn-menu{display:block}}

/* September 19, 2026: shorter home hero and 25% smaller banner/section headings */
.home-hero { min-height:465px; }
.hero h1,.page-hero h1 { font-size:clamp(2.25rem,4.5vw,4rem); }
.section-heading h2 { font-size:clamp(1.65rem,3vw,2.7rem); }
.service-page-content h1 { font-size:clamp(1.95rem,3.75vw,3.225rem); }
.service-page-hero h1,.town-hero h1 { font-size:clamp(2.05rem,3.75vw,3.55rem); }
.contact-hero h1,.community-videos-hero h1 { font-size:clamp(2.25rem,3.75vw,3.3rem); }
.cta-inner h2 { font-size:2.025rem; }

.new-community-directory { padding-top:58px; background:var(--sand); }
.new-community-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.new-community-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); transition:transform .2s,border-color .2s; }
.new-community-card:hover,.new-community-card:focus { transform:translateY(-3px); border-color:var(--aqua); }
.new-community-photo { min-height:175px; border-radius:0; }
.new-community-card-copy { padding:22px 24px 25px; }
.new-community-card-copy h3 { margin:8px 0 4px; font-family:'Playfair Display'; font-size:1.45rem; }
.new-community-card-copy p { margin:0 0 14px; color:var(--muted); }
.new-community-card-copy strong { color:var(--blue); }
.community-status { display:inline-block; padding:5px 10px; border-radius:999px; background:var(--sky); color:var(--navy); font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.new-community-hero { min-height:375px; background:linear-gradient(120deg,var(--navy),var(--blue)); }
.new-community-hero .community-status { background:rgba(255,255,255,.92); }
.community-photo-placeholder { min-height:390px; border-radius:var(--radius); box-shadow:var(--shadow); }
.generic-community-guidance { background:var(--sand); }

@media(max-width:850px){
    .home-hero { min-height:420px; }
    .new-community-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px){
    .home-hero { min-height:390px; }
    .new-community-grid { grid-template-columns:1fr; }
    .community-photo-placeholder { min-height:280px; }
}

/* IDX results use listing space only; SWFHomes does not display map search. */
.idx-wrapper-main #IDX-map { display:none !important; }
.idx-wrapper-main #IDX-content {
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    left:auto !important;
    float:none !important;
}

/* October 5, 2026: expand map-free IDX results across the full page. */
#IDX-main .idx-page__results.idx-page__results--no-map {
    --idx-results-page-columns-nomap:100% !important;
    --idx-results-columns:repeat(4,minmax(0,1fr)) !important;
    grid-template-columns:minmax(0,1fr) !important;
    height:auto !important;
    overflow:visible !important;
}
#IDX-main .idx-page__results--no-map > .idx-page__content {
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
}
#IDX-main .idx-page__results--no-map .idx-listings__group {
    width:100% !important;
    overflow:visible !important;
}
#IDX-main .idx-page__results--no-map .idx-listings {
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
#IDX-main #idx-listings {
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
@media(max-width:1100px){
    #IDX-main .idx-page__results.idx-page__results--no-map {
        --idx-results-columns:repeat(3,minmax(0,1fr)) !important;
    }
    #IDX-main .idx-page__results--no-map .idx-listings {
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
    #IDX-main #idx-listings {
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}
@media(max-width:800px){
    #IDX-main .idx-page__results.idx-page__results--no-map {
        --idx-results-columns:repeat(2,minmax(0,1fr)) !important;
    }
    #IDX-main .idx-page__results--no-map .idx-listings {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    #IDX-main #idx-listings {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}
@media(max-width:560px){
    #IDX-main .idx-page__results.idx-page__results--no-map {
        --idx-results-columns:minmax(0,1fr) !important;
    }
    #IDX-main .idx-page__results--no-map .idx-listings {
        grid-template-columns:minmax(0,1fr) !important;
    }
    #IDX-main #idx-listings {
        grid-template-columns:minmax(0,1fr) !important;
    }
}
