
:root{
  --ink:#1f2427;
  --navy:#102331;
  --navy2:#182f3e;
  --cream:#f8f4ec;
  --ivory:#fffdf8;
  --sand:#eee5d7;
  --taupe:#aa9884;
  --gold:#b8945f;
  --gold2:#d0b27d;
  --muted:#6d6a65;
  --line:rgba(31,36,39,.12);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--ivory);line-height:1.72}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 56px));margin:auto}
.topbar{background:var(--navy);color:#eee7dc;font-size:12px;letter-spacing:.07em}
.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:8px 0}
header{position:sticky;top:0;background:rgba(255,253,248,.96);backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:90px}
.brand{display:flex;align-items:center;gap:16px}
.brand img{width:108px;max-height:52px;object-fit:contain}
.brand-copy strong{display:block;font-family:Georgia,"Times New Roman",serif;letter-spacing:.13em;font-size:16px;font-weight:500}
.brand-copy span{font-size:10px;color:#81786e;letter-spacing:.2em}
nav{display:flex;align-items:center;gap:23px;font-size:12px;letter-spacing:.04em}
nav a:hover{color:var(--gold)}
.btn,.btn-outline{display:inline-block;padding:14px 22px;border-radius:0;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:11px;transition:.25s}
.btn{background:var(--gold);color:#fff}
.btn:hover{background:#9f7b49}
.btn-outline{border:1px solid var(--navy);color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.hero{min-height:720px;background:
linear-gradient(90deg,rgba(9,27,39,.80) 0%,rgba(9,27,39,.58) 44%,rgba(9,27,39,.16) 78%),
url('real-estate-banner.png') center/cover no-repeat;display:flex;align-items:center;color:#fff}
.hero .wrap{padding:120px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-weight:600;font-size:10px;color:var(--gold)}
.hero .eyebrow{color:#e5cda7}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:0 0 20px;font-weight:400}
h1{font-size:clamp(50px,6.4vw,84px);max-width:790px;letter-spacing:-.02em}
h2{font-size:clamp(36px,4vw,56px);letter-spacing:-.015em}
h3{font-size:27px}
.hero p.lead{font-family:Georgia,"Times New Roman",serif;font-size:21px;max-width:650px;color:#f3eee7;font-style:italic}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero .btn-outline{border-color:#f1e6d7;color:#fff}
.hero .btn-outline:hover{background:#fff;color:var(--navy)}
.section{padding:108px 0}
.section.alt{background:var(--cream)}
.section-head{max-width:830px;margin-bottom:52px}
.section-head p{color:var(--muted);font-size:16px}
.searchbox{background:rgba(255,253,248,.98);border:1px solid rgba(184,148,95,.25);box-shadow:0 24px 60px rgba(24,31,35,.10);padding:31px;margin-top:-65px;position:relative;z-index:5}
.searchgrid{display:grid;grid-template-columns:1.05fr 2fr 1fr auto;gap:10px}
input,select,textarea{width:100%;padding:15px 16px;border:1px solid #d9d0c3;background:#fffdf8;font:inherit;color:var(--ink)}
.idxnote{font-size:11px;color:#8a8178;margin:12px 0 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.card{border:0;border-right:1px solid var(--line);padding:42px 34px;background:transparent}
.card:last-child{border-right:0}
.card p{color:var(--muted)}
.card .num{font-family:Georgia,serif;color:var(--gold);letter-spacing:.18em;font-size:13px}
.card a{color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:3px}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.area{min-height:220px;background:linear-gradient(145deg,#f4eee5,#e8ddcd);padding:30px;display:flex;flex-direction:column;justify-content:flex-end;border:0;position:relative;overflow:hidden}
.area:before{content:"";position:absolute;inset:0;border:1px solid rgba(184,148,95,.24);pointer-events:none}
.area strong{font-family:Georgia,serif;font-size:28px;font-weight:400;position:relative}
.area span{color:#746c64;font-size:11px;letter-spacing:.10em;text-transform:uppercase;position:relative}
.area:hover{transform:translateY(-4px);transition:.25s;box-shadow:0 20px 45px rgba(42,36,29,.10)}
.split{display:grid;grid-template-columns:.88fr 1.12fr;gap:78px;align-items:center}
.portrait{position:relative;padding:18px 0 0 18px}
.portrait:before{content:"";position:absolute;left:0;top:0;width:75%;height:80%;border:1px solid var(--gold);z-index:0}
.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center top;position:relative;z-index:1;box-shadow:0 20px 50px rgba(22,30,35,.10)}
.bio p{color:#595a58}
.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9d0c4;margin:30px 0}
.stat{background:var(--cream);padding:23px 15px;text-align:center}
.stat b{display:block;font-family:Georgia,serif;font-size:26px;color:var(--navy);font-weight:400}
.stat span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#7d756d}
.quote{border-left:1px solid var(--gold);padding-left:24px;font-family:Georgia,serif;font-style:italic;font-size:24px;color:#38434a}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.feature{padding:26px 24px;border-bottom:1px solid var(--line)}
.feature:nth-child(odd){border-right:1px solid var(--line)}
.feature strong{display:block;font-family:Georgia,serif;font-size:22px;font-weight:400}
.feature span{font-size:13px;color:var(--muted)}
.cta{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:88px 0}
.cta h2{max-width:720px}
.cta p{color:#d9d8d3}
.cta .btn{background:var(--gold);color:#fff}
.footer{background:#0c1b26;color:#c9c4bc;padding:65px 0 28px;font-size:13px}
.footergrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}
.footer img{width:150px;background:#fff;padding:9px;margin-bottom:20px}
.footer h4{font-family:Georgia,serif;color:#fff;font-size:20px;font-weight:400;margin-top:0}
.footer a{display:block;margin:8px 0}
.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:24px;font-size:11px;color:#969da0}
.pagehero{background:linear-gradient(135deg,var(--navy),#213d4d);color:#fff;padding:105px 0 90px}
.pagehero p{max-width:760px;color:#dedbd5;font-family:Georgia,serif;font-size:20px;font-style:italic}
.breadcrumb{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#d5b989;margin-bottom:18px}
.content{max-width:820px}
.content h2{margin-top:54px;font-size:38px}
.content h3{margin-top:34px;font-size:26px}
.content p,.content li{color:#575b5c}
.pillbar{display:flex;gap:9px;flex-wrap:wrap;margin:26px 0}
.pill{border:1px solid #d9c6a7;padding:8px 13px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#795f3e;background:#fffaf2}
.market-layout{display:grid;grid-template-columns:1fr 320px;gap:65px}
.sidebar{position:sticky;top:122px;align-self:start;border:1px solid #ded4c7;padding:28px;background:var(--cream)}
.sidebar h3{font-size:24px}
.sidebar a{display:block;padding:10px 0;border-bottom:1px solid #e3d9cd;color:#425461}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:17px 0}
.faq summary{font-family:Georgia,serif;font-size:18px;cursor:pointer}
@media(max-width:900px){
  nav{display:none}.hero{min-height:590px;background-position:center}.searchgrid,.cards,.area-grid,.split,.footergrid,.market-layout{grid-template-columns:1fr}
  .cards{border:0}.card{border-right:0;border-bottom:1px solid var(--line)}.feature-list{grid-template-columns:1fr}.feature:nth-child(odd){border-right:0}
  .statrow{grid-template-columns:1fr 1fr}.sidebar{position:static}
}
@media(max-width:560px){
  .wrap{width:min(100% - 26px,var(--max))}.topbar .wrap{display:block}.section{padding:72px 0}.hero .wrap{padding:76px 0}
  .searchbox{margin-top:-34px}.statrow{grid-template-columns:1fr}.brand img{width:90px}
}

/* --- Luxury refinement v3 --- */
.hero{
  min-height:720px;
  background:linear-gradient(115deg,#102331 0%,#173242 58%,#e9dfd1 58%,#f7f1e8 100%);
  position:relative;
  overflow:hidden;
}
.hero .wrap{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  min-height:720px;
  gap:38px;
}
.hero-copy{position:relative;z-index:3;padding:80px 0}
.hero-photo{
  align-self:end;
  justify-self:end;
  width:min(100%,530px);
  position:relative;
  z-index:4;
  margin-right:3vw;
}
.hero-photo:before{
  content:"";
  position:absolute;
  width:88%;
  height:88%;
  right:-24px;
  top:-26px;
  border:1px solid rgba(184,148,95,.75);
  z-index:-1;
}
.hero-photo img{
  width:100%;
  height:650px;
  object-fit:cover;
  object-position:center top;
  filter:none;
  box-shadow:0 28px 60px rgba(12,24,32,.18);
}
.area{
  color:white;
  min-height:245px;
  background-size:cover!important;
  background-position:center!important;
}
.area:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(9,25,35,.78),rgba(9,25,35,.08) 65%);
}
.area strong,.area span{z-index:2;color:white}
.area span{color:#f0e8dc}
.area:before{z-index:3;border:1px solid rgba(255,255,255,.22)}
.area:hover:after{background:linear-gradient(to top,rgba(9,25,35,.68),rgba(9,25,35,.02) 65%)}

.pillbar{gap:12px}
.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  transition:.2s;
}
.pill:hover{
  background:var(--navy);
  color:white;
  border-color:var(--navy);
}
.pill:after{
  content:"→";
  font-size:12px;
}
.search-context{
  margin:0 0 18px;
  padding:12px 15px;
  background:#fff7e9;
  border-left:2px solid var(--gold);
  color:#5f513f;
  font-size:13px;
}
@media(max-width:900px){
  .hero{background:linear-gradient(180deg,#102331 0%,#173242 67%,#f3ece2 67%,#f3ece2 100%)}
  .hero .wrap{grid-template-columns:1fr;min-height:auto;padding-top:20px}
  .hero-copy{padding:68px 0 18px}
  .hero-photo{justify-self:center;margin:0;width:min(92%,470px)}
  .hero-photo img{height:540px}
}

/* Florida luxury final direction */
body{background:#fff;color:#102b49}
.topbar{background:#0b2948}
header{background:rgba(255,255,255,.97)}
.florida-luxury-hero{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.88) 37%,rgba(255,255,255,.16) 64%),url("https://images.unsplash.com/photo-1777914467765-636b2ed35cd3?auto=format&fit=crop&fm=jpg&q=82&w=2200") center/cover no-repeat; color:#0b2948}
.florida-luxury-hero .hero-copy{background:rgba(255,255,255,.30);padding:58px 34px 58px 0}
.florida-luxury-hero h1{font-size:clamp(46px,5.4vw,74px);text-transform:uppercase;letter-spacing:.01em}
.florida-luxury-hero .lead{color:#173650;font-style:normal}
.florida-luxury-hero .hero-photo{order:-1;width:min(100%,440px);margin-right:0}
.florida-luxury-hero .hero-photo:before{border-color:#c89a48}
.florida-luxury-hero .hero-photo img{height:610px;object-position:32% top;border:7px solid rgba(255,255,255,.75)}
.florida-luxury-hero .btn-outline{color:#0b2948;border-color:#0b2948;background:rgba(255,255,255,.75)}
.florida-luxury-hero .eyebrow{color:#b37b20}
.section.alt{background:#fff}
.area-grid{gap:14px}
.area{min-height:270px;box-shadow:0 10px 28px rgba(14,40,62,.12)}
.area strong{font-size:25px;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.area span{text-shadow:0 2px 6px rgba(0,0,0,.5)}
.pill{background:#fff;border:1px solid #c89a48;color:#173650}
.btn{background:#0b2948;border:1px solid #c89a48}
.btn:hover{background:#143d62}
.eyebrow{color:#b37b20}
.cta{background:linear-gradient(120deg,#082744,#0e3b62)}
@media(max-width:900px){.florida-luxury-hero{background:linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.88)),url("https://images.unsplash.com/photo-1777914467765-636b2ed35cd3?auto=format&fit=crop&fm=jpg&q=80&w=1200") center/cover}.florida-luxury-hero .hero-photo{order:0}.florida-luxury-hero .hero-photo img{height:520px}}

/* --- Florida photographic navigation v4 --- */
.pillbar{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:30px 0 38px;
}
.photo-pill{
  min-height:138px;
  padding:0;
  border:0;
  background-size:cover!important;
  background-position:center!important;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  text-transform:none;
  letter-spacing:0;
  color:#fff;
  box-shadow:0 8px 24px rgba(13,31,42,.12);
}
.photo-pill:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(6,24,36,.84),rgba(6,24,36,.08) 72%);
  transition:.25s;
}
.photo-pill span{
  position:relative;
  z-index:2;
  padding:18px 18px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:1.1;
}
.photo-pill:after{
  content:"View properties →";
  position:absolute;
  z-index:2;
  right:15px;
  bottom:18px;
  font-family:"Helvetica Neue",Arial,sans-serif;
  font-size:9px;
  letter-spacing:.09em;
  text-transform:uppercase;
  opacity:.82;
}
.photo-pill:hover{
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 15px 34px rgba(13,31,42,.18);
}
.photo-pill:hover:before{background:linear-gradient(to top,rgba(6,24,36,.72),rgba(6,24,36,.02) 72%)}
@media(max-width:800px){.pillbar{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.pillbar{grid-template-columns:1fr}.photo-pill{min-height:165px}}


/* --- Photo service cards: Luxury / Waterfront / Investment --- */
.service-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.service-photo-card{
  min-height:330px;
  padding:26px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background-size:cover !important;
  background-position:center !important;
  color:#fff;
  text-decoration:none;
  border:0;
  box-shadow:0 14px 34px rgba(8,35,58,.16);
}
.service-photo-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(5,25,42,.88) 4%,rgba(5,25,42,.58) 45%,rgba(5,25,42,.10) 78%);
}
.service-photo-card:after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.26);
  pointer-events:none;
}
.service-photo-card .num,
.service-photo-card .service-photo-copy{
  position:relative;
  z-index:2;
}
.service-photo-card .num{
  color:#f1d59f;
  font-size:12px;
  letter-spacing:.18em;
}
.service-photo-card h3{
  color:#fff;
  font-size:32px;
  margin:0 0 10px;
  text-shadow:0 2px 10px rgba(0,0,0,.38);
}
.service-photo-card p{
  color:#f7f3ed;
  margin:0 0 16px;
  line-height:1.55;
  text-shadow:0 1px 8px rgba(0,0,0,.38);
}
.service-photo-card .service-link{
  color:#f1d59f;
  font-size:11px;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.service-photo-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 44px rgba(8,35,58,.23);
  transition:.25s;
}
@media(max-width:900px){
  .service-photo-grid{grid-template-columns:1fr}
  .service-photo-card{min-height:280px}
}


/* --- City / neighborhood photo tiles --- */
.area.photo-area{
  min-height:220px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:22px;
  background-size:cover !important;
  background-position:center !important;
  color:#fff !important;
  text-decoration:none;
  border:0 !important;
  box-shadow:0 12px 28px rgba(8,35,58,.14);
}
.area.photo-area:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(5,25,42,.86),rgba(5,25,42,.32) 62%,rgba(5,25,42,.08));
}
.area.photo-area > *{
  position:relative;
  z-index:2;
}
.area.photo-area strong{
  color:#fff !important;
  font-size:24px;
  text-shadow:0 2px 10px rgba(0,0,0,.4);
}
.area.photo-area span,
.area.photo-area p{
  color:#f6f1e8 !important;
}
.area.photo-area:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(8,35,58,.22);
  transition:.25s;
}

/* Ensure all photo pills truly display their bundled background images */
.pill.photo-pill{
  min-height:150px;
  background-size:cover !important;
  background-position:center !important;
  position:relative;
  overflow:hidden;
  color:#fff !important;
}
.pill.photo-pill:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(5,25,42,.84),rgba(5,25,42,.22));
}
.pill.photo-pill > *{
  position:relative;
  z-index:2;
}


/* ===== Guaranteed visible photo cards: actual IMG elements ===== */
.visual-area-card{
  position:relative;
  min-height:245px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  text-decoration:none;
  background:#0a253d;
  box-shadow:0 12px 30px rgba(7,31,51,.16);
}
.visual-area-card > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  z-index:0;
}
.visual-area-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(4,22,38,.90),rgba(4,22,38,.14) 72%);
  z-index:1;
}
.visual-area-copy{
  position:relative;
  z-index:2;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.visual-area-copy strong{
  color:white;
  font-family:Georgia, "Times New Roman", serif;
  font-size:25px;
  line-height:1.08;
}
.visual-area-copy span{
  color:#f4ead9;
  font-size:13px;
}
.visual-area-card:hover{transform:translateY(-4px);transition:.22s;box-shadow:0 20px 40px rgba(7,31,51,.22)}

.service-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.visual-service-card{
  position:relative;
  min-height:340px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  text-decoration:none;
  background:#0a253d;
  box-shadow:0 14px 34px rgba(8,35,58,.16);
}
.visual-service-card > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  z-index:0;
}
.visual-service-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(4,22,38,.93),rgba(4,22,38,.12) 74%);
  z-index:1;
}
.visual-service-copy{
  position:relative;
  z-index:2;
  padding:28px;
}
.visual-service-copy .num{color:#efd29a;font-size:12px;letter-spacing:.16em}
.visual-service-copy h3{color:#fff;font-size:32px;margin:7px 0 10px}
.visual-service-copy p{color:#f7f2ea;line-height:1.5;margin:0 0 15px}
.visual-service-copy .service-link{color:#efd29a;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
@media(max-width:900px){
  .service-photo-grid{grid-template-columns:1fr}
  .visual-service-card{min-height:285px}
}


/* ===== BRIGHT SOUTH FLORIDA redesign ===== */
.visual-area-card{
  min-height:0 !important;
  display:block !important;
  background:#fff !important;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(10,38,62,.10) !important;
  border:1px solid rgba(10,38,62,.08);
}
.visual-area-card > img{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:165px !important;
  object-fit:cover !important;
  display:block !important;
  z-index:auto !important;
  filter:none !important;
  opacity:1 !important;
}
.visual-area-card:after{display:none !important}
.visual-area-copy{
  position:relative !important;
  z-index:auto !important;
  padding:15px 17px 17px !important;
  background:#fff !important;
}
.visual-area-copy strong{
  color:#0a2743 !important;
  font-size:21px !important;
  text-shadow:none !important;
}
.visual-area-copy span{
  color:#8c6a2d !important;
  font-size:10px !important;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.visual-area-card:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 32px rgba(10,38,62,.15) !important;
}

.visual-service-card{
  min-height:300px !important;
  border-radius:8px;
}
.visual-service-card > img{
  filter:none !important;
  opacity:1 !important;
}
.visual-service-card:after{
  background:linear-gradient(to top,rgba(4,25,43,.72) 0%,rgba(4,25,43,.20) 48%,rgba(4,25,43,.02) 75%) !important;
}
.visual-service-copy{padding:24px !important}
.visual-service-copy h3{font-size:30px !important}
.visual-service-copy p{color:#fff !important}
