.lcr-beach-map{margin:24px 0}.lcr-beach-map img{display:block;width:100%;max-width:850px;height:auto;margin:auto}.lcr-beach-map figcaption{text-align:center;margin:12px}.lcr-beach-town{scroll-margin-top:150px;margin:40px 0}.lcr-beach-town h4{font-size:21px}.lcr-contact-dialog{width:min(640px,94vw);max-height:90vh;overflow:auto;border:0;border-radius:12px;padding:28px}.lcr-contact-dialog::backdrop{background:rgb(0 0 0 / .65)}.lcr-contact-close{float:right;font-size:24px;background:none;border:0;cursor:pointer}.lcr-contact-form{display:grid;gap:16px}.lcr-contact-form label{display:grid;gap:6px;font-weight:600}.lcr-contact-form input,.lcr-contact-form textarea{width:100%;padding:12px;border:1px solid #8293a0;border-radius:4px;font:inherit;box-sizing:border-box}.lcr-contact-form [name=website]{display:none}.lcr-contact-form button{cursor:pointer}body.lcr-modal-open{overflow:hidden}
/* Compact directory boxes throughout the site. */
.card-grid{gap:12px!important;align-items:stretch}
.card-grid.three{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-card,.around-web-grid .service-card{padding:12px 14px!important;border-radius:6px;box-shadow:0 2px 8px rgba(7,59,76,.06)}
.service-card h2,.service-card h3,.service-card h4,.around-web-grid .service-card h2{color:#b34814!important;font-size:1.08rem!important;line-height:1.25;margin:0 0 5px!important}
.service-card p,.around-web-grid .service-card p{font-size:.94rem;line-height:1.35;margin:0!important}
.service-card .icon{font-size:1.2rem;margin:0 0 4px}
.service-card-link:hover,.service-card-link:focus{transform:none;box-shadow:0 3px 10px rgba(7,59,76,.12)}
@media(max-width:1000px){.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.card-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.card-grid.three{grid-template-columns:1fr}.service-card,.around-web-grid .service-card{padding:10px 12px!important}}

/* Match SWFHOMES: map at left, numbered town directory at right. */
.lcr-beach-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;margin:24px 0}
.lcr-beach-split .lcr-beach-map{margin:0}
.lcr-beach-split .lcr-beach-map img{width:100%;max-width:100%;height:auto}
.lcr-beach-directory>h2{margin-top:0}
.lcr-beach-directory .card-grid.three{grid-template-columns:1fr}
.lcr-beach-directory .lcr-beach-town{margin:24px 0}
.lcr-beach-directory .service-card{padding:8px 0!important;border:0;border-bottom:1px solid #e1e6e8;border-radius:0;box-shadow:none;background:transparent}
.lcr-beach-directory .service-card h4{font-size:1rem!important;margin-bottom:3px!important}
.lcr-beach-directory .card-grid{gap:6px!important}
.lcr-beach-directory .button-row{gap:6px}
.lcr-beach-directory .button-row .button{padding:7px 10px;font-size:.9rem}
@media(max-width:760px){.lcr-beach-split{grid-template-columns:1fr;gap:24px}.lcr-beach-split .lcr-beach-map img{max-width:480px}}

.lcr-golf-town-return{margin:12px 0 20px}.lcr-golf-town-return .button{font-size:1rem}

/* Compact headings and wider desktop content across LCR. */
.container{width:calc(100% - 48px);max-width:1440px;margin-left:auto;margin-right:auto}
main .section{padding:34px 0}
main h1{font-size:clamp(1.75rem,2.5vw,2.3rem);line-height:1.2;margin:8px 0 14px}
main h2,main .cta-inner h2{font-size:clamp(1.3rem,1.7vw,1.65rem);line-height:1.25;margin:20px 0 10px}
main h3{font-size:1.15rem;line-height:1.3;margin:14px 0 8px}
main .section-heading,main .section-heading.centered{max-width:none;margin-bottom:20px}
main p{margin-top:0;margin-bottom:12px}
main .lead{font-size:1.08rem;line-height:1.55;max-width:none}
main .split-grid{gap:28px}
main dl{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px!important;margin:16px 0!important;align-items:start}
main dl>div{min-width:0}main dd{margin-left:0}
.lcr-detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;align-items:start}
.lcr-detail-section{min-width:0}.lcr-detail-section h2:first-child{margin-top:0}
.lcr-detail-section dl{grid-template-columns:repeat(2,minmax(0,1fr))}
.lcr-detail-section .lee-history-note{margin-top:0!important}
main .lcr-breadcrumbs{margin-bottom:14px}
main .lcr-beach-town{margin-top:24px;margin-bottom:24px}
@media(max-width:900px){main dl{grid-template-columns:repeat(2,minmax(0,1fr))}.container{width:calc(100% - 32px)}}
@media(max-width:700px){.lcr-detail-columns{grid-template-columns:1fr;gap:18px}main .section{padding:24px 0}main .split-grid{gap:20px}}
@media(max-width:440px){main dl,.lcr-detail-section dl{grid-template-columns:1fr 1fr;gap:10px!important}}

/* Readable county cards and paired map previews. */
.service-card,.service-card p,.areas-section .service-card,.areas-section .service-card p{color:#19394d!important}
.lcr-county-pairs{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.lcr-county-pair{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px;align-items:center}
.lcr-county-card{padding:20px!important}.lcr-county-card p{font-size:1.05rem!important;line-height:1.55!important}.lcr-county-card h3{font-size:1.4rem!important}
.lcr-map-open{display:block;background:#f3f7f4;border:2px solid #e9b66e;border-radius:12px;padding:4px;cursor:zoom-in;color:#15374e;font:inherit;text-align:center;overflow:hidden}
.lcr-map-open img{width:100%;height:auto;display:block}.lcr-map-open span{display:block;font-weight:700;padding:7px}
.lcr-map-dialog{border:0;border-radius:12px;width:min(850px,94vw);max-height:94vh;padding:16px;overflow:auto;background:#f3f7f4}
.lcr-map-dialog::backdrop{background:rgba(5,20,32,.8)}.lcr-map-dialog img{display:block;max-width:100%;width:auto;max-height:80vh;height:auto;margin:auto}.lcr-map-dialog h2{font-size:1.3rem;margin:0 45px 10px 0;color:#15374e}
.lcr-map-close{float:right;font-size:26px;cursor:pointer;background:none;border:0;color:#15374e}
main .home-hero h1{font-size:clamp(2rem,4vw,3.5rem);color:#fff;line-height:1.2}.lcr-hero-subtitle{font-size:.8em}
@media(max-width:900px){.lcr-county-pairs{grid-template-columns:1fr}.lcr-map-open img{max-height:300px;object-fit:contain}}
@media(max-width:480px){.lcr-county-pair{grid-template-columns:1fr}.lcr-map-open img{max-height:240px}}
