*{box-sizing:border-box}

:root{
    --navy:#0a3152;
    --navy2:#0b2341;
    --blue:#0d5f96;
    --pale:#edf7ff;
    --green:#2daa5c;
    --ink:#182b3c;
    --muted:#5b7285;
    --line:#dbe5ec;
    --surface:#fffdf8;
    --bg:#eef4f1;
    --sand:#f3eee3;
    --sand2:#faf7f0;
    --seafoam:#e7f1ee;
    --aqua:#dcecef;
    --coastalBlue:#d7e7ee;
}

html{scroll-behavior:smooth}

body{
    margin:0;
    background:
        linear-gradient(
            180deg,
            #edf4f2 0%,
            #f5f2e9 34%,
            #eef4f1 68%,
            #f7f4ec 100%
        );
    color:var(--ink);
    font-family:Arial, Helvetica, sans-serif;
}

a{color:inherit}

.devBar{
    padding:10px 16px;
    background:#7f1d1d;
    color:#fff;
    text-align:center;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
}

.siteHeader{
    background:rgba(255,253,248,.96);
    border-bottom:1px solid #d8e4e2;
}

.headerInner{
    width:min(1200px, calc(100% - 34px));
    margin:0 auto;
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.brand{text-decoration:none}

.brandName{
    display:block;
    color:var(--navy2);
    font-size:26px;
    font-weight:900;
    letter-spacing:-.03em;
}

.brandTag{
    display:block;
    margin-top:3px;
    color:#6a7f8f;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.mainNav{
    display:flex;
    align-items:center;
    gap:22px;
}

.mainNav a{
    color:#385066;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
}

.mainNav a:hover{color:var(--blue)}

/*
 * WILEY NOTE TO SELF:
 * HERO IMAGE POSITION
 *
 * The aerial image is currently positioned at:
 * center 60%
 *
 * Increase 60% if I want the image visually higher in the hero.
 * Decrease it if I want the image visually lower.
 */
.hero{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:
        linear-gradient(90deg,rgba(5,31,53,.86) 0%,rgba(5,31,53,.58) 42%,rgba(5,31,53,.08) 75%),
        linear-gradient(0deg,rgba(5,31,53,.35),rgba(5,31,53,0) 45%),
        url('../images/sea-colony-aerial.jpg') center 60% / cover no-repeat;
    color:#fff;
}

.heroInner{
    width:min(1200px, calc(100% - 34px));
    margin:0 auto;
    padding:82px 0 66px;
}

.heroEyebrow{
    margin:0 0 13px;
    color:#cce9f7;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.hero h1{
    max-width:760px;
    margin:0;
    font-size:clamp(43px,6vw,72px);
    line-height:.98;
    letter-spacing:-.045em;
    text-shadow:0 2px 18px rgba(0,0,0,.18);
}

.heroLead{
    max-width:710px;
    margin:21px 0 0;
    color:rgba(255,255,255,.92);
    font-size:18px;
    line-height:1.6;
    text-shadow:0 1px 8px rgba(0,0,0,.18);
}

.heroActions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:27px;
}

.heroButton{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 17px;
    border-radius:9px;
    background:#fff;
    color:var(--navy2);
    font-size:14px;
    font-weight:800;
    text-decoration:none;
}

.heroButton.secondary{
    border:1px solid rgba(255,255,255,.5);
    background:rgba(7,38,63,.42);
    color:#fff;
    backdrop-filter:blur(5px);
}

.page{
    width:min(1200px, calc(100% - 34px));
    margin:0 auto;
    padding:34px 0 64px;
}

.contentGrid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 350px;
    gap:30px;
    align-items:start;
}

.mainColumn{min-width:0}

.sidebar{
    position:sticky;
    top:18px;
}

.contentSection{
    padding:30px;
    background:rgba(255,253,248,.96);
    border:1px solid #d9e4e1;
    border-radius:17px;
    box-shadow:0 8px 28px rgba(12,45,72,.06);
}

.contentSection + .contentSection{margin-top:24px}

.sectionEyebrow{
    margin:0 0 9px;
    color:var(--blue);
    font-size:11px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.contentSection h2,
.updatesSection h2{
    margin:0;
    color:var(--navy2);
    font-size:31px;
    line-height:1.12;
    letter-spacing:-.025em;
}


/*
 * WILEY NOTE TO SELF:
 * TITLE ICONS FOR THE BUYING / SELLING SECTIONS.
 * Keep these subtle and clean. Not cartoonish.
 */
.sectionTitleWithIcon{
    display:flex;
    align-items:flex-start;
    gap:14px;
}

.sectionTitleWithIcon h2{
    margin:0;
}

.sectionIconBadge{
    flex:0 0 auto;
    width:48px;
    height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d4e4df;
    border-radius:14px;
    background:linear-gradient(180deg,#fbfaf4,#e9f2ef);
    color:#1f6a79;
    box-shadow:0 5px 14px rgba(23,59,72,.06);
}

.sectionIconBadge svg{
    width:25px;
    height:25px;
    display:block;
}

.sectionLead{
    margin:14px 0 0;
    color:var(--muted);
    font-size:15px;
    line-height:1.7;
}

.featureGrid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:23px;
}

.featureBox{
    padding:20px;
    border:1px solid #d8e5e2;
    border-radius:13px;
    background:linear-gradient(180deg,#fbfaf5,#edf5f2);
}

.featureBox strong{
    display:block;
    color:var(--navy2);
    font-size:17px;
}

.featureBox p{
    margin:8px 0 0;
    color:#607688;
    font-size:13px;
    line-height:1.55;
}

/* WILEY NOTE TO SELF:
   This is the homepage news / updates section.
   It should feel more like a local publication than a blog template.
*/
.updatesSection{
    margin-top:24px;
    padding:30px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:17px;
    box-shadow:0 8px 28px rgba(12,45,72,.06);
}

.updatesHeader{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:22px;
}

.updatesHeader a{
    flex:0 0 auto;
    color:var(--blue);
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.updatesGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:24px;
}

.updateCard{
    display:block;
    padding:22px;
    border:1px solid #dce6ed;
    border-radius:14px;
    background:linear-gradient(180deg,#fff,#f8fbfd);
    text-decoration:none;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.updateCard:hover{
    transform:translateY(-2px);
    border-color:#b7d3e4;
    box-shadow:0 10px 24px rgba(13,95,150,.08);
}

.updateMeta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:13px;
    color:#718797;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.updateCategory{color:var(--blue)}

.updateCard h3{
    margin:0;
    color:var(--navy2);
    font-size:20px;
    line-height:1.25;
}

.updateCard p{
    margin:10px 0 0;
    color:#5a7183;
    font-size:13px;
    line-height:1.6;
}

.updateRead{
    display:inline-block;
    margin-top:15px;
    color:var(--blue);
    font-size:12px;
    font-weight:800;
}

.inventoryHead{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
}

.sampleLabel{
    flex:0 0 auto;
    padding:7px 10px;
    border-radius:999px;
    background:#fff4e8;
    color:#a45615;
    font-size:10px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.inventory{
    display:grid;
    gap:22px;
    margin-top:24px;
}

.propertyCard{
    display:grid;
    grid-template-columns:minmax(245px,36%) 1fr;
    overflow:hidden;
    border:1px solid #d8e3ea;
    border-radius:15px;
    background:#fff;
    box-shadow:0 7px 24px rgba(14,42,68,.055);
}

.propertyPhoto{min-height:325px}

.placeholderPhoto{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:linear-gradient(145deg,#cde4ef,#eff7fa 50%,#b9d4df);
    border-right:1px solid #d8e3ea;
}

.placeholderPhoto div{
    width:100%;
    min-height:210px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:2px dashed rgba(13,95,150,.25);
    border-radius:12px;
    color:var(--blue);
    text-align:center;
}

.placeholderPhoto span{
    color:#6b8192;
    font-size:11px;
}

.propertyContent{padding:24px}

.propertyBadges{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:15px;
}

.propertyBadge{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:4px 10px;
    border:1px solid #9bc9e5;
    border-radius:999px;
    background:#f4fbff;
    color:var(--blue);
    font-size:11px;
    font-weight:800;
}

.propertyBadge:first-child{
    border-color:#76ba8e;
    background:#eff9f2;
    color:#237648;
}

.propertyPrice{
    color:var(--navy2);
    font-size:31px;
    font-weight:900;
    letter-spacing:-.03em;
}

.propertyAddress{
    margin:6px 0 3px;
    color:#163048;
    font-size:22px;
    line-height:1.22;
}

.propertyLocation{
    color:#6b8090;
    font-size:13px;
}

.propertyFacts{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:19px 0;
    padding:15px 0;
    border-top:1px solid #e4ebf0;
    border-bottom:1px solid #e4ebf0;
}

.propertyFacts div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.propertyFacts strong{
    color:var(--navy2);
    font-size:18px;
}

.propertyFacts span{
    color:#718593;
    font-size:10px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.propertyRemarks{
    margin:0;
    color:#4f6679;
    font-size:14px;
    line-height:1.65;
}

.propertyAttribution{
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid #e3ebf0;
    color:#748795;
    font-size:11px;
    line-height:1.55;
}

.propertyAttribution strong{
    color:#8d3e33;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.ctaBand{
    margin-top:24px;
    padding:30px;
    border-radius:17px;
    background:linear-gradient(135deg,#0a3152,#0d5f96);
    color:#fff;
}

.ctaBand h2{margin:0;font-size:29px}

.ctaBand p{
    max-width:760px;
    margin:11px 0 0;
    color:rgba(255,255,255,.85);
    line-height:1.65;
}

.ctaBand a{
    display:inline-block;
    margin-top:17px;
    padding:11px 15px;
    border-radius:9px;
    background:#fff;
    color:var(--navy2);
    font-size:14px;
    font-weight:800;
    text-decoration:none;
}

.footer{
    background:#123640;
    color:rgba(255,255,255,.78);
}

.footerInner{
    width:min(1200px, calc(100% - 34px));
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr auto;
    gap:30px;
    padding:30px 0;
    font-size:12px;
    line-height:1.65;
}

.footerIdentity{text-align:right}

/* Updates page */
.updatesPageHero{
    padding:52px 0;
    background:linear-gradient(135deg,#082d4c,#0d5f96);
    color:#fff;
}

.updatesPageHeroInner{
    width:min(1000px,calc(100% - 34px));
    margin:0 auto;
}

.updatesPageHero h1{
    margin:0;
    font-size:48px;
    letter-spacing:-.035em;
}

.updatesPageHero p{
    max-width:700px;
    margin:14px 0 0;
    color:rgba(255,255,255,.85);
    line-height:1.65;
}

.updatesPage{
    width:min(1000px,calc(100% - 34px));
    margin:0 auto;
    padding:34px 0 60px;
}

.articleList{
    display:grid;
    gap:18px;
}

.articleRow{
    display:block;
    padding:24px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    text-decoration:none;
}

.articleRow h2{
    margin:7px 0 8px;
    color:var(--navy2);
    font-size:25px;
}

.articleRow p{
    margin:0;
    color:#5b7285;
    line-height:1.65;
}

.articleMeta{
    color:var(--blue);
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.articlePage{
    width:min(820px,calc(100% - 34px));
    margin:0 auto;
    padding:42px 0 64px;
}

.articlePage h1{
    margin:8px 0 16px;
    color:var(--navy2);
    font-size:clamp(36px,6vw,55px);
    line-height:1.04;
    letter-spacing:-.04em;
}

.articleDeck{
    margin:0;
    color:#5c7487;
    font-size:18px;
    line-height:1.7;
}

.articlePlaceholder{
    margin-top:28px;
    padding:22px;
    border-left:4px solid var(--blue);
    background:#eef7fc;
    color:#4f687b;
    line-height:1.7;
}

.backLink{
    display:inline-block;
    margin-top:26px;
    color:var(--blue);
    font-weight:800;
    text-decoration:none;
}

@media (max-width:940px){
    .contentGrid{grid-template-columns:1fr}
    .sidebar{position:static}
    .featureGrid{grid-template-columns:1fr}
}

@media (max-width:760px){
    .hero{
        min-height:520px;
        background:
            linear-gradient(0deg,rgba(5,31,53,.84) 0%,rgba(5,31,53,.36) 56%,rgba(5,31,53,.05) 100%),
            url('../images/sea-colony-aerial.jpg') 55% center / cover no-repeat;
        align-items:flex-end;
    }

    .updatesGrid{grid-template-columns:1fr}

    .propertyCard{grid-template-columns:1fr}

    .placeholderPhoto{
        min-height:250px;
        border-right:0;
        border-bottom:1px solid #d8e3ea;
    }

    .footerInner{grid-template-columns:1fr}
    .footerIdentity{text-align:left}
}

@media (max-width:560px){
    .sectionTitleWithIcon{
        gap:12px;
    }

    .sectionIconBadge{
        width:42px;
        height:42px;
        border-radius:12px;
    }

    .sectionIconBadge svg{
        width:22px;
        height:22px;
    }

    .headerInner{min-height:72px}
    .brandName{font-size:22px}
    .heroInner{padding:52px 0 42px}
    .page{padding-top:22px}
    .contentSection,.updatesSection,.ctaBand{padding:22px}
    .inventoryHead,.updatesHeader{align-items:flex-start;flex-direction:column}
    .propertyContent{padding:20px}
    .propertyFacts{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/*
 * WILEY NOTE TO SELF:
 * SHARED SEA COLONY SIDE RAIL
 *
 * This rail is intentionally useful before it is salesy.
 * Current default order:
 * 1. Important Phone Numbers
 * 2. Compact Wiley / Sea Colony real estate card
 * 3. Sea Colony Sales
 * 4. Latest Updates
 */

.sidebar{
    display:grid;
    gap:20px;
}

.soldFeatureCard{
    display:block;
    padding:24px;
    border-radius:16px;
    background:
        linear-gradient(145deg,rgba(20,64,76,.98),rgba(25,99,118,.96));
    color:#fff;
    box-shadow:0 10px 28px rgba(8,49,83,.18);
}

.sidebarEyebrow{
    margin-bottom:8px;
    color:#9ed5f3;
    font-size:10px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.soldFeatureCard h2{
    margin:0;
    color:#fff;
    font-size:27px;
    line-height:1.1;
    letter-spacing:-.025em;
}

.soldFeatureCard p{
    margin:13px 0 0;
    color:rgba(255,255,255,.84);
    font-size:13px;
    line-height:1.62;
}

/*
 * WILEY NOTE TO SELF:
 * These are the two action buttons inside the "What Has Sold" sidebar box.
 *
 * Button 1 = recent sold properties
 * Button 2 = jump directly to currently available properties
 */
.soldFeatureActions{
    display:grid;
    gap:9px;
    margin-top:17px;
}

.soldFeatureLink{
    display:block;
    padding:10px 12px;
    border-radius:8px;
    background:#fff;
    color:#0a3152;
    font-size:12px;
    font-weight:900;
    text-align:center;
    text-decoration:none;
}

.soldFeatureLink:hover{
    background:#f2f8fc;
}



/*
 * WILEY NOTE TO SELF:
 * IMPORTANT PHONE NUMBERS
 *
 * Add the real Gatehouse, HOA / management, Fire Rescue and other useful
 * numbers here later. Do not invent numbers.
 */
.contactDirectoryCard{
    padding:22px;
    border:1px solid #d3e2de;
    border-radius:16px;
    background:
        linear-gradient(180deg,#fffdf8 0%,#edf5f2 100%);
    box-shadow:0 8px 24px rgba(31,70,78,.06);
}

.contactDirectoryCard .sidebarEyebrow{
    color:#287786;
}

.contactDirectoryCard h2{
    margin:0;
    color:#173b48;
    font-size:24px;
    line-height:1.15;
    letter-spacing:-.02em;
}

.contactDirectoryIntro{
    margin:9px 0 0;
    color:#647d82;
    font-size:12px;
    line-height:1.55;
}

.contactDirectoryList{
    margin-top:15px;
    border-top:1px solid #d6e5e1;
}

.contactDirectoryItem{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 0;
    border-bottom:1px solid #dce9e5;
    text-decoration:none;
}

.contactDirectoryItem span{
    color:#2b4d58;
    font-size:12px;
    font-weight:700;
}

.contactDirectoryItem strong{
    color:#557278;
    font-size:11px;
    font-weight:800;
    text-align:right;
}

.contactDirectoryLink strong{
    color:#0d5f96;
}

.sidebarSectionTitle{
    margin:1px 2px -8px;
    color:#405e67;
    font-size:11px;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
}

/*
 * WILEY NOTE TO SELF:
 * The sales box has only one action now: View Recent Sales.
 * Current inventory is already prominent in the main page.
 */
.soldFeatureActions{
    display:block;
    margin-top:17px;
}

.sidebarUpdates{
    padding:19px;
    border:1px solid #d8e4e1;
    border-radius:16px;
    background:rgba(255,253,248,.96);
    box-shadow:0 8px 26px rgba(12,45,72,.05);
}

.sidebarUpdatesHeader{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:11px;
}

.sidebarUpdatesHeader .sidebarEyebrow{
    margin:0;
    color:#0d5f96;
}

.sidebarUpdatesHeader > a{
    color:#0d5f96;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

.sidebarUpdateCard{
    display:block;
    padding:15px 0;
    border-top:1px solid #e3ebf0;
    text-decoration:none;
}

.sidebarUpdateCard:first-of-type{
    border-top:0;
    padding-top:7px;
}

.sidebarUpdateCategory{
    display:block;
    margin-bottom:6px;
    color:#0d5f96;
    font-size:9px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.sidebarUpdateCard strong{
    display:block;
    color:#0b2341;
    font-size:16px;
    line-height:1.3;
}

.sidebarUpdateCard p{
    margin:7px 0 0;
    color:#617789;
    font-size:12px;
    line-height:1.52;
}

.sidebarUpdateRead{
    display:inline-block;
    margin-top:8px;
    color:#0d5f96;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.sidebarWiley{
    min-width:0;
}

.sidebarReturnCard{
    display:block;
    padding:20px;
    border:1px solid #dbe5ec;
    border-radius:14px;
    background:#fff;
    text-decoration:none;
}

.sidebarReturnCard .sidebarEyebrow{
    color:#0d5f96;
}

.sidebarReturnCard strong{
    display:block;
    color:#0b2341;
    font-size:20px;
    line-height:1.2;
}

.sidebarReturnCard p{
    margin:9px 0 0;
    color:#617789;
    font-size:13px;
    line-height:1.55;
}

.sidebarReturnCard span{
    display:inline-block;
    margin-top:12px;
    color:#0d5f96;
    font-size:12px;
    font-weight:900;
}

/*
 * WILEY NOTE TO SELF:
 * SOLD PAGE
 *
 * This is the visual structure only.
 * Do not treat these sample records as MLS sales.
 * Live Closed / Sold display still needs BeachesMLS compliance verification.
 */

.soldHero{
    background:
        linear-gradient(90deg,rgba(5,31,53,.84) 0%,rgba(5,31,53,.58) 48%,rgba(5,31,53,.18) 100%),
        url('../images/sea-colony-aerial.jpg') center 60% / cover no-repeat;
    color:#fff;
}

.soldHeroInner{
    width:min(1200px,calc(100% - 34px));
    margin:0 auto;
    padding:66px 0 58px;
}

.soldHero h1{
    max-width:760px;
    margin:0;
    font-size:clamp(42px,6vw,68px);
    line-height:1;
    letter-spacing:-.04em;
}

.soldHero p{
    max-width:720px;
    margin:17px 0 0;
    color:rgba(255,255,255,.88);
    font-size:17px;
    line-height:1.65;
}

.soldInventory{
    display:grid;
    gap:20px;
    margin-top:24px;
}

.soldPropertyCard{
    display:grid;
    grid-template-columns:minmax(225px,34%) 1fr;
    overflow:hidden;
    border:1px solid #d8e3ea;
    border-radius:15px;
    background:#fff;
    box-shadow:0 7px 24px rgba(14,42,68,.055);
}

.soldPropertyPhoto{
    min-height:315px;
}

.soldPropertyContent{
    padding:23px;
}

.soldTopline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}

.soldBadge{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:4px 10px;
    border:1px solid #9aafbd;
    border-radius:999px;
    background:#f3f6f8;
    color:#455e70;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.soldDate{
    color:#6d8291;
    font-size:11px;
    font-weight:700;
}

.soldPriceLabel{
    color:#6a7f8f;
    font-size:10px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.soldPrice{
    margin-top:2px;
    color:#0b2341;
    font-size:32px;
    font-weight:900;
    letter-spacing:-.03em;
}

.soldListPrice{
    margin-top:4px;
    color:#6b8191;
    font-size:12px;
}

.soldAddress{
    margin:14px 0 3px;
    color:#163048;
    font-size:21px;
    line-height:1.2;
}

.soldLocation{
    color:#6b8090;
    font-size:13px;
}

.soldFacts{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:18px 0;
    padding:14px 0;
    border-top:1px solid #e4ebf0;
    border-bottom:1px solid #e4ebf0;
}

.soldFacts div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.soldFacts strong{
    color:#0b2341;
    font-size:17px;
}

.soldFacts span{
    color:#718593;
    font-size:10px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.soldRemarks{
    margin:0;
    color:#4f6679;
    font-size:13px;
    line-height:1.62;
}

.soldAttribution{
    margin-top:17px;
    padding-top:14px;
    border-top:1px solid #e3ebf0;
    color:#748795;
    font-size:11px;
    line-height:1.55;
}

.soldAttribution strong{
    color:#8d3e33;
    text-transform:uppercase;
    letter-spacing:.05em;
}

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

    .soldPropertyPhoto{
        min-height:245px;
        border-right:0;
        border-bottom:1px solid #d8e3ea;
    }

    .soldTopline{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media (max-width:560px){
    .soldFacts{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/*
 * WILEY NOTE TO SELF:
 * ECHO INSPIRED COMPACT LISTING TEST
 *
 * The homepage card is now a teaser, not a miniature full listing page.
 * It shows the property first and sends the visitor to the full detail page.
 *
 * DO NOT put final live MLS attribution rules here until BeachesMLS confirms them.
 */
.inventory{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.propertyCardCompact{
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    border:1px solid #d8e3ea;
    border-radius:15px;
    background:#fff;
    box-shadow:0 7px 24px rgba(14,42,68,.055);
}

.propertyPhotoCompact{
    min-height:205px;
    color:inherit;
    text-decoration:none;
    border-right:0;
    border-bottom:1px solid #d8e3ea;
}

.propertyPhotoCompact.placeholderPhoto div{
    min-height:145px;
}

.propertyContentCompact{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    padding:19px;
}

.propertyContentCompact .propertyBadges{
    margin-bottom:11px;
}

.propertyContentCompact .propertyBadge{
    min-height:24px;
    padding:3px 8px;
    font-size:9px;
}

.propertyContentCompact .propertyPrice{
    font-size:27px;
}

.propertyContentCompact .propertyAddress{
    margin-top:5px;
    font-size:18px;
}

.propertyContentCompact .propertyAddress a{
    color:inherit;
    text-decoration:none;
}

.propertyContentCompact .propertyAddress a:hover{
    color:var(--blue);
}

.propertyContentCompact .propertyLocation{
    font-size:12px;
}

.propertyAddressNotice{
    margin-top:8px;
    padding:7px 9px;
    border:1px solid #ead9aa;
    border-radius:8px;
    background:#fff9e9;
    color:#81601e;
    font-size:10px;
    font-weight:800;
    line-height:1.4;
}

.propertyFactsCompact{
    display:flex;
    flex-wrap:wrap;
    gap:8px 15px;
    margin:16px 0 0;
    padding:13px 0;
    border-top:1px solid #e4ebf0;
    border-bottom:1px solid #e4ebf0;
}

.propertyFactsCompact span{
    color:#647a8a;
    font-size:11px;
    white-space:nowrap;
}

.propertyFactsCompact strong{
    color:var(--navy2);
    font-size:14px;
}

.propertyDetailLink{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:39px;
    margin-top:15px;
    padding:0 12px;
    border:1px solid #b9d5e5;
    border-radius:9px;
    background:#f6fbfe;
    color:var(--blue);
    font-size:12px;
    font-weight:900;
    text-decoration:none;
}

.propertyDetailLink:hover{
    border-color:#8fbfd8;
    background:#edf8fd;
}

.inventoryEmpty{
    margin-top:24px;
    padding:24px;
    border:1px solid #d6e4df;
    border-radius:13px;
    background:linear-gradient(180deg,#fbfaf5,#eef5f2);
}

.inventoryEmpty strong{
    color:var(--navy2);
    font-size:18px;
}

.inventoryEmpty p{
    margin:8px 0 0;
    color:#5e7484;
    font-size:13px;
    line-height:1.6;
}

.devTestNotice{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:18px;
    padding:11px 13px;
    border:1px solid #e9d7a8;
    border-radius:10px;
    background:#fff8e6;
    color:#76591c;
    font-size:11px;
    font-weight:800;
}

.devTestNotice a{
    color:#0d5f96;
}

/*
 * WILEY NOTE TO SELF:
 * SAMPLE FULL PROPERTY DETAIL PAGE
 *
 * This is where the deeper property information and final MLS attribution
 * will live after BeachesMLS requirements are confirmed.
 */
.propertyDetailPage{
    padding-top:24px;
}

.propertyDetailBread{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin-bottom:16px;
    color:#718593;
    font-size:11px;
}

.propertyDetailBread a{
    color:var(--blue);
    font-weight:800;
    text-decoration:none;
}

.propertyDetailGrid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:28px;
    align-items:start;
}

.propertyDetailMain{
    min-width:0;
}

.propertyDetailSidebar{
    display:grid;
    gap:18px;
    position:sticky;
    top:18px;
}

.propertyDetailCard{
    overflow:hidden;
    border:1px solid #d8e3ea;
    border-radius:17px;
    background:#fffdf8;
    box-shadow:0 8px 28px rgba(12,45,72,.06);
}

.propertyDetailPhoto{
    min-height:430px;
    border-right:0;
    border-bottom:1px solid #d8e3ea;
}

.propertyDetailPhoto.placeholderPhoto div{
    min-height:300px;
}

.propertyDetailBody{
    padding:28px;
}

.propertyDetailPrice{
    color:var(--navy2);
    font-size:42px;
    font-weight:900;
    letter-spacing:-.04em;
}

.propertyDetailAddress{
    margin:7px 0 3px;
    color:#163048;
    font-size:30px;
    line-height:1.16;
    letter-spacing:-.025em;
}

.propertyDetailLocation{
    color:#6b8090;
    font-size:14px;
}

.propertyAddressNoticeDetail{
    margin-top:13px;
    font-size:11px;
}

.propertyDetailFacts{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:23px 0 0;
    padding:18px 0;
    border-top:1px solid #e4ebf0;
    border-bottom:1px solid #e4ebf0;
}

.propertyDetailFacts div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.propertyDetailFacts strong{
    color:var(--navy2);
    font-size:20px;
}

.propertyDetailFacts span{
    color:#718593;
    font-size:10px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.propertyDetailSection{
    margin-top:28px;
}

.propertyDetailSection h2{
    margin:0;
    color:var(--navy2);
    font-size:23px;
    line-height:1.2;
}

.propertyDetailDataGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:16px;
}

.propertyDetailDataGrid div{
    padding:13px 14px;
    border:1px solid #dde7ec;
    border-radius:10px;
    background:#fafcfd;
}

.propertyDetailDataGrid span{
    display:block;
    color:#748795;
    font-size:9px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.propertyDetailDataGrid strong{
    display:block;
    margin-top:4px;
    color:#17334b;
    font-size:13px;
}

.propertyDetailRemarks{
    margin:13px 0 0;
    color:#4f6679;
    font-size:14px;
    line-height:1.7;
}

.listingAttributionPanel{
    margin-top:30px;
    padding:19px;
    border:1px solid #d9e4e9;
    border-radius:12px;
    background:#f8fafb;
}

.listingAttributionEyebrow{
    color:#8d3e33;
    font-size:10px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.listingAttributionPanel p{
    margin:8px 0 0;
    color:#6d8291;
    font-size:11px;
    line-height:1.55;
}

.listingAttributionGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:14px;
}

.listingAttributionGrid div{
    padding:10px 11px;
    border:1px solid #e2e9ed;
    border-radius:8px;
    background:#fff;
}

.listingAttributionGrid span{
    display:block;
    color:#80909b;
    font-size:8px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.listingAttributionGrid strong{
    display:block;
    margin-top:3px;
    color:#596e7e;
    font-size:11px;
    line-height:1.35;
}

.listingAttributionNote{
    font-style:italic;
}

.propertyContextCard{
    padding:20px;
    border:1px solid #d8e5e2;
    border-radius:14px;
    background:linear-gradient(180deg,#fffdf8,#edf5f2);
    box-shadow:0 7px 22px rgba(12,45,72,.05);
}

.propertyContextCard h2{
    margin:0;
    color:var(--navy2);
    font-size:20px;
    line-height:1.22;
}

.propertyContextCard p{
    margin:9px 0 0;
    color:#607688;
    font-size:12px;
    line-height:1.6;
}

.propertyContextCard a{
    display:inline-block;
    margin-top:13px;
    color:var(--blue);
    font-size:12px;
    font-weight:900;
    text-decoration:none;
}

.propertyContextCardSmall h2{
    font-size:18px;
}

.detailNotFoundTitle,
.idxTestTitle{
    margin:0;
    color:var(--navy2);
    font-size:34px;
    line-height:1.12;
    letter-spacing:-.025em;
}

/*
 * WILEY NOTE TO SELF:
 * PRIVATE IDX TEST LAB
 * This page is not linked in the normal site navigation.
 */
.idxTestCallout,
.idxSuppressionResult{
    margin-top:20px;
    padding:14px 16px;
    border:1px solid #d6e4df;
    border-radius:10px;
    background:#eef6f3;
    color:#4d6872;
    font-size:12px;
    line-height:1.55;
}

.idxTestCallout strong,
.idxSuppressionResult strong{
    color:#17334b;
}

.idxRuleTableWrap{
    margin-top:22px;
    overflow-x:auto;
}

.idxRuleTable{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    font-size:12px;
}

.idxRuleTable th,
.idxRuleTable td{
    padding:12px 13px;
    border:1px solid #dce6eb;
    text-align:left;
    vertical-align:top;
}

.idxRuleTable th{
    background:#f3f7f8;
    color:#526a7c;
    font-size:9px;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.idxRulePass{color:#237648}
.idxRuleLimited{color:#8b651d}
.idxRuleBlocked{color:#8d3e33}

.idxTestInventory{
    margin-top:22px;
}

.idxQuantityLinks{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}

.idxQuantityLinks a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 13px;
    border:1px solid #b8d3e3;
    border-radius:9px;
    background:#f6fbfe;
    color:var(--blue);
    font-size:11px;
    font-weight:900;
    text-decoration:none;
}

.idxQuantityLinks a:hover{
    background:#edf8fd;
}

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

    .propertyDetailSidebar{
        position:static;
    }
}

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

    .propertyDetailPhoto{
        min-height:300px;
    }

    .propertyDetailPhoto.placeholderPhoto div{
        min-height:205px;
    }
}

@media (max-width:560px){
    .propertyContentCompact{
        padding:18px;
    }

    .propertyDetailBody{
        padding:21px;
    }

    .propertyDetailPrice{
        font-size:34px;
    }

    .propertyDetailAddress{
        font-size:25px;
    }

    .propertyDetailFacts,
    .propertyDetailDataGrid,
    .listingAttributionGrid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .detailNotFoundTitle,
    .idxTestTitle{
        font-size:28px;
    }
}

/* =========================================================
   SHARED SMALL SITE FRAMEWORK • AUGUST 24, 2026
   =========================================================

   WILEY NOTE TO SELF:
   The navigation, sidebar and footer are now shared PHP includes.
   Keep compliance-critical Wiley / LoKation information local to this domain.
*/

.mainNav a[aria-current="page"]{
    color:var(--blue);
    text-decoration:underline;
    text-underline-offset:5px;
    text-decoration-thickness:2px;
}

.contactDirectoryItem span small{
    display:block;
    margin-top:3px;
    color:#60777e;
    font-size:9px;
    font-weight:800;
    line-height:1.3;
}

/* Compact shared Wiley sidebar card */
.wileyCompactCard{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:14px;
    align-items:center;
    padding:14px;
    border:2px solid #7f98aa;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 22px rgba(12,35,64,.06);
}

.wileyCompactPhoto{
    align-self:stretch;
    min-height:118px;
    overflow:hidden;
    border-radius:10px;
    background:#eef3f6;
}

.wileyCompactPhoto img{
    display:block;
    width:100%;
    height:100%;
    min-height:118px;
    object-fit:cover;
    object-position:35% top;
}

.wileyCompactContent{min-width:0}

.wileyCompactFeatured{
    margin:0 0 3px;
    color:#0068b7;
    font-size:10px;
    font-weight:900;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.wileyCompactEyebrow{
    margin:0 0 4px;
    color:#5c7180;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.wileyCompactName{
    margin:0;
    color:#0c2340;
    font-size:17px;
    line-height:1.2;
    font-weight:900;
}

.wileyCompactBrokerage{
    margin:3px 0 0;
    color:#415767;
    font-size:12px;
    line-height:1.35;
    font-weight:800;
}

.wileyCompactProof{
    margin:7px 0 0;
    color:#2f6b4f;
    font-size:12px;
    line-height:1.35;
    font-weight:900;
}

.wileyCompactPhone{
    display:inline-block;
    margin-top:7px;
    color:#0c2340;
    font-size:13px;
    line-height:1.2;
    font-weight:900;
    text-decoration:none;
}

.wileyCompactPhone:hover,
.wileyCompactPhone:focus-visible{text-decoration:underline}

.wileyCompactButton{
    display:inline-flex;
    min-height:34px;
    margin-top:9px;
    padding:8px 12px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#0068b7;
    color:#fff;
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-decoration:none;
}

.wileyCompactButton:hover,
.wileyCompactButton:focus-visible{background:#005699}

/* Sold-page historical Lulfs Team sidebar module */
.lulfsSidebarCard{
    padding:22px;
    border:1px solid #d7e3df;
    border-radius:16px;
    background:#fffdf8;
    box-shadow:0 8px 24px rgba(31,70,78,.06);
}

.lulfsSidebarCard .sidebarEyebrow{color:#287786}

.lulfsSidebarCard h2{
    margin:0;
    color:var(--navy2);
    font-size:23px;
    line-height:1.16;
    letter-spacing:-.02em;
}

.lulfsSidebarCard > p{
    margin:10px 0 0;
    color:#647a87;
    font-size:12px;
    line-height:1.55;
}

.lulfsSidebarList{
    margin-top:15px;
    border-top:1px solid #e1e9e5;
}

.lulfsSidebarItem{
    padding:10px 0;
    border-bottom:1px solid #e5ece8;
}

.lulfsSidebarItem strong{
    display:block;
    color:#294958;
    font-size:12px;
    line-height:1.35;
}

.lulfsSidebarItem span{
    display:block;
    margin-top:3px;
    color:#2f6b4f;
    font-size:10px;
    font-weight:800;
}

.lulfsSidebarNote{
    margin-top:12px;
    color:#819199;
    font-size:9px;
    line-height:1.5;
}

/* Stable Contact Wiley presentation for high-intent pages */
.contactWileyPanel{
    display:grid;
    grid-template-columns:210px minmax(0,1fr);
    overflow:hidden;
    margin-top:24px;
    border:1px solid #cfdedc;
    border-radius:17px;
    background:linear-gradient(135deg,#fffdf8,#edf5f2);
    box-shadow:0 9px 28px rgba(12,45,72,.07);
}

.contactWileyPhoto{
    min-height:260px;
    background:#dce7e9;
}

.contactWileyPhoto img{
    display:block;
    width:100%;
    height:100%;
    min-height:260px;
    object-fit:cover;
    object-position:38% top;
}

.contactWileyBody{padding:28px}

.contactWileyBody h2{
    margin:0;
    color:var(--navy2);
    font-size:30px;
    line-height:1.12;
    letter-spacing:-.025em;
}

.contactWileyBody > p{
    margin:11px 0 0;
    color:#5f7482;
    font-size:14px;
    line-height:1.65;
}

.contactWileyIdentity{
    margin-top:18px;
    color:#405866;
    font-size:13px;
    line-height:1.5;
}

.contactWileyIdentity strong{
    color:#0c2340;
    font-size:16px;
}

.contactWileyIdentity span{
    display:inline-block;
    margin-top:4px;
    color:#2f6b4f;
    font-weight:900;
}

.contactWileyActions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.contactWileyPrimary,
.contactWileySecondary{
    display:inline-flex;
    min-height:42px;
    padding:0 15px;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}

.contactWileyPrimary{
    background:#0d5f96;
    color:#fff;
}

.contactWileySecondary{
    border:1px solid #b9cbd1;
    background:#fff;
    color:#0b2341;
}

.contactWileyContactLine{
    margin-top:12px;
    color:#607580;
    font-size:11px;
    font-weight:800;
}

/* Boring-by-design listing attribution */
.listingAttributionPlain{
    margin-top:24px;
    padding-top:16px;
    border-top:1px solid #dce5e8;
    color:#657986;
    font-size:14px;
    line-height:1.55;
}

.listingAttributionPlain strong{color:#405867}

.idxDisclosurePlaceholder{
    margin-top:18px;
    padding-top:15px;
    border-top:1px solid #e0e7e9;
    color:#7b8c95;
    font-size:12px;
    line-height:1.55;
}

/* Shared interior page layout */
.subpageHero{
    border-bottom:1px solid #d8e4e2;
    background:
        radial-gradient(circle at 85% 0%,rgba(215,231,238,.9),rgba(215,231,238,0) 35%),
        linear-gradient(180deg,#fffdf8 0%,#edf5f2 100%);
}

.subpageHeroInner{
    width:min(1200px,calc(100% - 34px));
    margin:0 auto;
    padding:56px 0 50px;
}

.subpageHero h1{
    max-width:820px;
    margin:0;
    color:var(--navy2);
    font-size:clamp(42px,6vw,66px);
    line-height:1;
    letter-spacing:-.045em;
}

.subpageHero p{
    max-width:760px;
    margin:16px 0 0;
    color:#5c7486;
    font-size:17px;
    line-height:1.65;
}

.resourceGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:22px;
}

.resourceCard{
    display:block;
    padding:20px;
    border:1px solid #dbe6e4;
    border-radius:13px;
    background:#f9fbf8;
    text-decoration:none;
}

.resourceCard strong{
    display:block;
    color:var(--navy2);
    font-size:18px;
}

.resourceCard p{
    margin:7px 0 0;
    color:#647986;
    font-size:13px;
    line-height:1.55;
}

.resourceCard span{
    display:inline-block;
    margin-top:10px;
    color:var(--blue);
    font-size:11px;
    font-weight:900;
}

.contentVerifyNote{
    margin:0 0 24px;
    padding:15px 17px;
    border:1px solid #dfd4aa;
    border-radius:12px;
    background:#fff9e8;
    color:#695f3b;
    font-size:12px;
    line-height:1.6;
}

.communityFactList{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:20px;
}

.communityFact{
    padding:16px;
    border:1px solid #dce7e4;
    border-radius:12px;
    background:#f8fbf9;
}

.communityFact strong{
    display:block;
    color:#244755;
    font-size:14px;
}

.communityFact p{
    margin:6px 0 0;
    color:#657b87;
    font-size:12px;
    line-height:1.55;
}

.articleBody{
    color:#536c7a;
    font-size:15px;
    line-height:1.78;
}

.articleBody h2{
    margin:30px 0 10px;
    color:var(--navy2);
    font-size:27px;
    line-height:1.15;
}

.articleBody p{margin:0 0 16px}

@media (max-width:940px){
    .headerInner{
        flex-wrap:wrap;
        padding:14px 0;
    }

    .mainNav{
        display:flex;
        width:100%;
        gap:8px 18px;
        padding-top:2px;
        overflow-x:auto;
        scrollbar-width:thin;
    }

    .mainNav a{
        flex:0 0 auto;
        white-space:nowrap;
        font-size:13px;
    }
}

@media (max-width:760px){
    .contactWileyPanel{grid-template-columns:1fr}
    .contactWileyPhoto{min-height:280px;max-height:390px}
    .contactWileyPhoto img{min-height:280px}
    .resourceGrid,.communityFactList{grid-template-columns:1fr}
}

@media (max-width:560px){
    .wileyCompactCard{
        grid-template-columns:82px minmax(0,1fr);
        gap:12px;
        padding:12px;
    }

    .wileyCompactPhoto,
    .wileyCompactPhoto img{min-height:104px}
    .wileyCompactName{font-size:16px}
    .subpageHeroInner{padding:42px 0 38px}
    .contactWileyBody{padding:22px}
    .contactWileyBody h2{font-size:26px}
}


/* ============================================================
   SHARED SITE LAYOUT CORRECTIONS - AUGUST 24, 2026
   WILEY NOTE TO SELF:
   These rules deliberately override the first shared-include pass.
   Keep the compact Wiley card the same physical scale as the approved
   homepage version and do not use underlines as a navigation treatment.
   ============================================================ */

.mainNav a[aria-current="page"]{
    color:var(--blue);
    font-weight:900;
    text-decoration:none;
}

.mainNav a:hover,
.mainNav a:focus-visible{
    text-decoration:none;
}

/* Interior pages use a slightly lighter sidebar proportion than home. */
.interiorContentGrid{
    grid-template-columns:minmax(0,1fr) 330px;
    gap:28px;
}

.floorplansContentGrid{
    grid-template-columns:minmax(0,1fr) 310px;
    gap:28px;
}

/* Prevent browser-default underlines from leaking into community cards. */
.resourceCard,
.resourceCard:hover,
.resourceCard:focus-visible,
.resourceCard strong,
.resourceCard p,
.resourceCard span{
    text-decoration:none;
}

.communityPage .contentSection a,
.dogBeachPage .contentSection a{
    text-decoration:none;
}

.communityPage .contentSection a:hover,
.communityPage .contentSection a:focus-visible,
.dogBeachPage .contentSection a:hover,
.dogBeachPage .contentSection a:focus-visible{
    text-decoration:none;
}

/* Exact compact sidebar scale from the approved homepage treatment. */
.wileyCompactCard{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:14px;
    align-items:center;
    padding:14px;
    overflow:hidden;
    border:2px solid #7f98aa;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 22px rgba(12,35,64,.06);
}

.wileyCompactPhoto{
    width:96px;
    min-width:96px;
    min-height:118px;
    max-height:150px;
    align-self:stretch;
    overflow:hidden;
    border-radius:10px;
    background:#eef3f6;
}

.wileyCompactPhoto img{
    display:block;
    width:100%;
    height:100%;
    min-height:118px;
    max-height:150px;
    object-fit:cover;
    object-position:35% top;
}

.wileyCompactContent{
    min-width:0;
    overflow:hidden;
}

.wileyCompactName,
.wileyCompactBrokerage,
.wileyCompactProof{
    overflow-wrap:anywhere;
}

@media (max-width:940px){
    .interiorContentGrid,
    .floorplansContentGrid{
        grid-template-columns:1fr;
    }
}

@media (max-width:560px){
    .wileyCompactCard{
        grid-template-columns:82px minmax(0,1fr);
        gap:12px;
        padding:12px;
    }

    .wileyCompactPhoto{
        width:82px;
        min-width:82px;
        min-height:104px;
        max-height:132px;
    }

    .wileyCompactPhoto img{
        min-height:104px;
        max-height:132px;
    }
}


/* ============================================================
   SHARED INTERIOR HERO + SMART SIDEBAR + CONTACT PAGE
   AUGUST 24, 2026
   ============================================================ */

/*
 * WILEY NOTE TO SELF:
 * Every normal interior page uses this shorter aerial image header.
 * The homepage keeps the larger .hero treatment and its center 60% position.
 */
.interiorHero{
    background:
        linear-gradient(90deg,rgba(5,31,53,.84) 0%,rgba(5,31,53,.58) 48%,rgba(5,31,53,.18) 100%),
        url('../images/sea-colony-aerial.jpg') center 60% / cover no-repeat;
    color:#fff;
}

.interiorHeroInner{
    width:min(1200px,calc(100% - 34px));
    margin:0 auto;
    padding:66px 0 58px;
}

.interiorHero h1{
    max-width:820px;
    margin:0;
    color:#fff;
    font-size:clamp(42px,6vw,68px);
    line-height:1;
    letter-spacing:-.04em;
    text-shadow:0 2px 18px rgba(0,0,0,.18);
}

.interiorHero p{
    max-width:760px;
    margin:17px 0 0;
    color:rgba(255,255,255,.88);
    font-size:17px;
    line-height:1.65;
    text-shadow:0 1px 8px rgba(0,0,0,.16);
}

/* Compact cross site discovery teasers used by the smart sidebar. */
.sidebarTeaserCard{
    display:block;
    padding:18px;
    border:1px solid #d8e4e7;
    border-radius:14px;
    background:#fff;
    box-shadow:0 7px 22px rgba(14,42,68,.045);
    color:inherit;
    text-decoration:none;
}

.sidebarTeaserCard:hover,
.sidebarTeaserCard:focus-visible{
    border-color:#b9d5df;
    box-shadow:0 9px 25px rgba(14,42,68,.075);
    text-decoration:none;
}

.sidebarTeaserCard strong{
    display:block;
    margin-top:4px;
    color:var(--navy2);
    font-size:18px;
    line-height:1.2;
    text-decoration:none;
}

.sidebarTeaserCard p{
    margin:8px 0 0;
    color:#667d8b;
    font-size:12px;
    line-height:1.55;
    text-decoration:none;
}

.sidebarTeaserCard > span{
    display:inline-block;
    margin-top:11px;
    color:var(--blue);
    font-size:11px;
    font-weight:900;
    text-decoration:none;
}

/* Simple permanent Contact Wiley page. */
.contactPageCard{
    display:grid;
    grid-template-columns:minmax(220px,34%) minmax(0,1fr);
    overflow:hidden;
    border:1px solid #d7e3e7;
    border-radius:17px;
    background:#fff;
    box-shadow:0 9px 28px rgba(12,45,72,.06);
}

.contactPagePhoto{
    min-height:520px;
    background:#eef4f6;
}

.contactPagePhoto img{
    display:block;
    width:100%;
    height:100%;
    min-height:520px;
    object-fit:cover;
    object-position:35% top;
}

.contactPageBody{
    padding:34px;
}

.contactPageBody h2{
    margin:3px 0 0;
    color:var(--navy2);
    font-size:clamp(30px,4vw,43px);
    line-height:1.05;
    letter-spacing:-.035em;
}

.contactPageBrokerage{
    margin-top:8px;
    color:#426170;
    font-size:15px;
    font-weight:800;
}

.contactPageProof{
    display:inline-block;
    margin-top:14px;
    padding:7px 10px;
    border-radius:8px;
    background:#eef8f1;
    color:#287247;
    font-size:12px;
    font-weight:900;
}

.contactPageBody > p{
    max-width:620px;
    margin:20px 0 0;
    color:#5e7482;
    font-size:15px;
    line-height:1.7;
}

.contactPageActions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.contactPageActions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 15px;
    border-radius:9px;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}

.contactPagePrimary{
    background:var(--blue);
    color:#fff;
}

.contactPageSecondary{
    border:1px solid #b9d2dd;
    background:#f6fafb;
    color:#24536a;
}

.contactPageDetails{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin:28px 0 0;
    border-top:1px solid #e1e8eb;
}

.contactPageDetails > div{
    padding:16px 18px 16px 0;
    border-bottom:1px solid #e1e8eb;
}

.contactPageDetails dt{
    margin:0 0 4px;
    color:#758995;
    font-size:10px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.contactPageDetails dd{
    margin:0;
    color:#314f60;
    font-size:13px;
    line-height:1.55;
}

.contactPageDetails a{
    color:#245c79;
    text-decoration:none;
}

@media (max-width:760px){
    .interiorHeroInner{padding:50px 0 44px}
    .contactPageCard{grid-template-columns:1fr}
    .contactPagePhoto{min-height:340px;max-height:460px}
    .contactPagePhoto img{min-height:340px;max-height:460px}
}

@media (max-width:560px){
    .interiorHeroInner{padding:42px 0 38px}
    .contactPageBody{padding:24px}
    .contactPageDetails{grid-template-columns:1fr}
}


/* ============================================================
   COMMUNITY HUB + REALTOR POSITIONING UPDATE
   AUGUST 24, 2026
   ============================================================ */

.wileyCompactPositioning{
    margin:5px 0 0;
    color:#315f73;
    font-size:10px;
    line-height:1.3;
    font-weight:900;
    letter-spacing:.015em;
}

.contactWileyPositioning{
    display:inline-block;
    margin-top:4px;
    color:#315f73;
    font-size:13px;
    line-height:1.35;
    font-style:normal;
    font-weight:800;
}

.contactPagePositioning{
    margin-top:6px;
    color:#315f73;
    font-size:14px;
    line-height:1.35;
    font-weight:800;
}

.communityUniqueSection h2{
    max-width:780px;
}

.uniqueColumns{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:25px;
}

.uniqueColumn{
    padding:21px;
    border:1px solid #d8e5e5;
    border-radius:14px;
    background:#fbfdfc;
}

.uniqueColumn h3{
    margin:0;
    color:#0b2341;
    font-size:18px;
    line-height:1.25;
}

.uniqueColumn ul{
    margin:14px 0 0;
    padding-left:19px;
    color:#526a77;
    font-size:13px;
    line-height:1.6;
}

.uniqueColumn li + li{
    margin-top:7px;
}

.uniqueColumn > a{
    display:inline-flex;
    margin-top:14px;
    color:#0d5f96;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
}

.uniqueColumn > a:hover,
.uniqueColumn > a:focus-visible{
    text-decoration:underline;
    text-underline-offset:3px;
}

@media (max-width:820px){
    .uniqueColumns{grid-template-columns:1fr}
}

/* ============================================================
   SATELLITE TEMPLATE NEXT PASS - AUGUST 25, 2026
   Mobile Wiley visibility + reusable community IDX sidebar teaser
   ============================================================ */

/*
 * WILEY NOTE TO SELF:
 * This strip solves the tablet/mobile visibility problem without changing
 * the approved large-monitor layout. It intentionally appears below the
 * hero through iPad-sized screens. The normal sidebar Wiley card remains
 * farther down the page as a second contact opportunity.
 */
.mobileWileyStrip{
    display:none;
    border-bottom:1px solid #d8e4e5;
    background:#f7fbfa;
}

.mobileWileyStripInner{
    width:min(1200px,calc(100% - 34px));
    margin:0 auto;
    padding:13px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.mobileWileyIdentity{
    min-width:0;
}

.mobileWileyEyebrow{
    display:block;
    margin-bottom:2px;
    color:#53727e;
    font-size:9px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.075em;
    text-transform:uppercase;
}

.mobileWileyIdentity strong{
    display:block;
    color:#0b2341;
    font-size:15px;
    line-height:1.25;
}

.mobileWileyIdentity > span:last-child{
    display:block;
    margin-top:2px;
    color:#526b77;
    font-size:11px;
    line-height:1.4;
    font-weight:700;
}

.mobileWileyActions{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:9px;
}

.mobileWileyPhone{
    color:#0b2341;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}

.mobileWileyContact{
    display:inline-flex;
    min-height:36px;
    padding:8px 13px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#0d5f96;
    color:#fff;
    font-size:11px;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}

.mobileWileyContact:hover,
.mobileWileyContact:focus-visible{
    background:#084e7e;
    text-decoration:none;
}

/* Reusable sidebar current-listing module for all satellite communities. */
.idxSidebarModule{
    overflow:hidden;
    border:1px solid #d4e2e5;
    border-radius:14px;
    background:#fff;
    box-shadow:0 7px 22px rgba(14,42,68,.05);
}

.idxSidebarHeader,
.idxSidebarPlaceholder{
    padding:18px;
}

.idxSidebarHeader > strong,
.idxSidebarPlaceholder > strong{
    display:block;
    margin-top:4px;
    color:#0b2341;
    font-size:18px;
    line-height:1.2;
}

.idxSidebarPlaceholder p{
    margin:8px 0 0;
    color:#667d8b;
    font-size:12px;
    line-height:1.55;
}

.idxSidebarPlaceholder > a{
    display:inline-block;
    margin-top:11px;
    color:#0d5f96;
    font-size:11px;
    font-weight:900;
    text-decoration:none;
}

.idxSidebarSlides{
    position:relative;
}

.idxSidebarSlide{
    display:none;
}

.idxSidebarSlide.is-active{
    display:block;
}

.idxSidebarListingLink{
    display:block;
    color:inherit;
    text-decoration:none;
}

.idxSidebarPhoto{
    aspect-ratio:16/10;
    overflow:hidden;
    background:#eaf1f3;
}

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

.idxSidebarListingBody{
    padding:14px 16px 16px;
}

.idxSidebarPrice{
    color:#0b2341;
    font-size:20px;
    line-height:1.15;
    font-weight:900;
}

.idxSidebarAddress{
    margin-top:4px;
    color:#3c5967;
    font-size:12px;
    line-height:1.4;
    font-weight:800;
}

.idxSidebarFacts{
    display:flex;
    flex-wrap:wrap;
    gap:5px 9px;
    margin-top:8px;
    color:#687d88;
    font-size:10px;
    line-height:1.35;
    font-weight:800;
}

.idxSidebarView{
    display:inline-block;
    margin-top:10px;
    color:#0d5f96;
    font-size:10px;
    font-weight:900;
}

.idxSidebarDots{
    display:flex;
    justify-content:center;
    gap:5px;
    padding:0 0 11px;
}

.idxSidebarDot{
    width:5px;
    height:5px;
    border-radius:50%;
    background:#cad7dc;
}

.idxSidebarDot.is-active{
    background:#2e7187;
}

@media (max-width:1024px){
    .mobileWileyStrip{display:block}
}

@media (max-width:620px){
    .mobileWileyStripInner{
        align-items:flex-start;
        gap:11px;
    }

    .mobileWileyIdentity > span:last-child{
        max-width:230px;
    }

    .mobileWileyActions{
        flex-direction:column;
        align-items:flex-end;
        gap:5px;
    }

    .mobileWileyPhone{font-size:11px}
    .mobileWileyContact{min-height:32px;padding:7px 11px;font-size:10px}
}

@media (max-width:430px){
    .mobileWileyStripInner{
        width:min(100% - 26px,1200px);
        flex-direction:column;
    }

    .mobileWileyIdentity > span:last-child{max-width:none}

    .mobileWileyActions{
        width:100%;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
    }
}


/*
 * SEA COLONY SIDEBAR PAGE NAV
 * Permanent quiet navigation box at the bottom of every shared sidebar.
 */
.sidebarPageNav{
    padding:18px 20px;
}

.sidebarPageNav > strong{
    font-size:18px;
}

.sidebarPageNavLinks{
    display:grid;
    margin-top:12px;
    border-top:1px solid #e7eef2;
}

.sidebarPageNavLinks a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 0;
    border-bottom:1px solid #e7eef2;
    color:#385066;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.sidebarPageNavLinks a::after{
    content:"›";
    color:#8aa0af;
    font-size:17px;
    font-weight:700;
    line-height:1;
}

.sidebarPageNavLinks a:hover,
.sidebarPageNavLinks a:focus-visible,
.sidebarPageNavLinks a[aria-current="page"]{
    color:var(--blue);
    text-decoration:none;
}

.sidebarPageNavLinks a:hover::after,
.sidebarPageNavLinks a:focus-visible::after,
.sidebarPageNavLinks a[aria-current="page"]::after{
    color:var(--blue);
}
