:root{
  --navy:#031c32;
  --navy2:#062942;
  --teal:#1f7f8d;
  --gold:#c89432;
  --gold2:#e3bd68;
  --cream:#fbf8f0;
  --sand:#efe5d5;
  --ink:#061528;
  --muted:#687385;
  --white:#fff;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6}
a{text-decoration:none;color:inherit}

.contact-ribbon{
  display:flex;justify-content:space-between;gap:18px;align-items:center;
  background:linear-gradient(90deg,#02182c,#063556);
  color:white;padding:10px 5%;font-size:.9rem;font-weight:800;
}

.site-header{
  display:grid;grid-template-columns:1fr 1.5fr .9fr;gap:24px;align-items:center;
  background:rgba(255,255,255,.97);padding:16px 5%;position:sticky;top:0;z-index:30;
  box-shadow:0 8px 30px rgba(0,0,0,.08);
}

.brand-block{display:flex;align-items:center;gap:14px}
.brand-block img{width:84px;height:84px;object-fit:contain;border-radius:50%;box-shadow:0 12px 26px rgba(0,0,0,.12)}
.brand-block strong{display:block;font-size:1.55rem;letter-spacing:-.05em;line-height:1}
.brand-block strong span{color:var(--gold)}
.brand-block small{display:block;text-transform:uppercase;color:var(--teal);letter-spacing:.18em;font-weight:900;font-size:.68rem;margin-top:6px}

nav{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.06em;font-weight:900;font-size:.8rem}
.nav-cta{background:var(--navy);color:white;padding:11px 16px;border-radius:2px}
.broker-logo{max-width:275px;justify-self:end}

.hero{position:relative;min-height:720px;color:white;overflow:hidden}
.hero-media{position:absolute;inset:0;background:url('assets/boardwalk.jpg') center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,28,50,.96),rgba(3,28,50,.52),rgba(3,28,50,.88))}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr .95fr;gap:45px;align-items:center;padding:70px 5% 120px;min-height:720px}
.signature{font-family:"Brush Script MT",cursive;color:var(--gold2);font-size:2.8rem;line-height:1.05;margin-bottom:12px}
.hero h1{font-family:Georgia,serif;font-size:clamp(4.1rem,8vw,8rem);line-height:.88;letter-spacing:-.07em;text-transform:uppercase;margin-bottom:22px}
.hero-sub{font-size:1.25rem;max-width:720px;color:#eef5f7}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-block;padding:16px 28px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;font-size:.84rem;border-radius:2px}
.gold{background:var(--gold);color:white}
.outline{border:1px solid white;color:white;background:rgba(255,255,255,.08)}
.agent-identity{background:white;padding:10px;box-shadow:0 28px 70px rgba(0,0,0,.35);transform:rotate(.5deg)}
.agent-identity img{display:block;width:100%}

.search-dock{width:90%;margin:-74px auto 0;background:var(--navy);color:white;border:2px solid white;box-shadow:0 24px 60px rgba(0,0,0,.24);position:relative;z-index:4;padding:24px 28px}
.search-title{text-transform:uppercase;letter-spacing:.13em;font-weight:900;margin-bottom:18px}
.search-title span{color:white}.search-title strong{color:var(--gold2)}
.search-dock form{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
input,select,textarea{width:100%;padding:15px;border:1px solid #d8d8d8;background:white;font-size:1rem;border-radius:2px}
button{border:0;background:var(--gold);color:white;padding:15px 24px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;cursor:pointer}
textarea{min-height:120px;resize:vertical}

.cred-strip{width:90%;margin:28px auto 50px;display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(135deg,#02182c,#063556);color:white;border:1px solid rgba(200,148,50,.5)}
.cred-strip article{padding:28px;border-right:1px solid rgba(255,255,255,.18)}
.cred-strip article:last-child{border-right:0}
.cred-strip span{display:block;color:var(--gold2);font-size:1.35rem;font-weight:900;line-height:1.1}
.cred-strip strong{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;margin:8px 0}
.cred-strip p{font-size:.9rem;color:#dbe6eb}

.service-icons{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#d7d2c9;padding:0 5% 70px}
.service-icons article{background:var(--cream);text-align:center;padding:34px 22px}
.icon{font-size:3rem;color:var(--navy);line-height:1;margin-bottom:12px}
.service-icons h3{text-transform:uppercase;letter-spacing:.09em;font-size:.85rem;margin-bottom:10px}
.service-icons p{font-size:.92rem;color:#405066}

.dual-cta{display:grid;grid-template-columns:1fr 1fr}
.cta-panel{min-height:275px;display:grid;place-items:center;text-align:center;color:white;position:relative;overflow:hidden}
.cta-panel:before{content:"";position:absolute;inset:0;background:rgba(3,28,50,.58)}
.buyer-panel{background:url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1200&q=85') center/cover}
.seller-panel{background:url('https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1200&q=85') center/cover}
.cta-panel div{position:relative;z-index:2}
.cta-panel span{font-family:Georgia,serif;font-size:2.2rem}
.cta-panel strong{display:block;font-size:1.05rem;margin:6px 0 20px}
.cta-panel em{display:inline-block;border:1px solid white;padding:13px 22px;font-style:normal;text-transform:uppercase;font-weight:900;font-size:.8rem;letter-spacing:.08em}

.about-ryan{display:grid;grid-template-columns:.45fr 1fr;gap:55px;align-items:center;background:linear-gradient(110deg,#031c32,#085161);color:white;padding:70px 5%}
.about-brand img{width:100%;max-width:300px;border-radius:50%;background:white;padding:8px;box-shadow:0 18px 45px rgba(0,0,0,.25)}
.about-copy h2{font-family:Georgia,serif;font-size:clamp(2.5rem,4vw,4.4rem);line-height:1;letter-spacing:-.06em;margin-bottom:20px}
.about-copy p:not(.signature){font-size:1.1rem;max-width:850px;color:#eef5f7}
.about-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.about-badges span{border:1px solid rgba(227,189,104,.65);padding:11px 14px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:.78rem}

.areas{padding:85px 5%;background:var(--sand)}
.section-heading{text-align:center;margin-bottom:32px}
.section-heading p{color:var(--teal);text-transform:uppercase;font-weight:900;letter-spacing:.16em}
.section-heading h2{font-family:Georgia,serif;font-size:clamp(2.6rem,4vw,4.8rem);letter-spacing:-.06em}
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.area-grid a{min-height:150px;background:linear-gradient(135deg,rgba(3,28,50,.94),rgba(31,127,141,.75));color:white;display:grid;place-items:end start;padding:22px;font-size:1.25rem;font-weight:900;border:1px solid rgba(200,148,50,.5)}

.contact-section{display:grid;grid-template-columns:.85fr .85fr 1fr;gap:28px;padding:85px 5%;background:var(--cream)}
.contact-panel{background:var(--navy);color:white;padding:34px}
.contact-panel h2{font-family:Georgia,serif;font-size:3.2rem;line-height:1;margin-bottom:16px}
.phone-button{display:inline-block;background:var(--gold);color:white;padding:15px 20px;margin-top:24px;text-transform:uppercase;font-weight:900}
.office-card{background:white;box-shadow:0 14px 36px rgba(0,0,0,.1)}
.office-card img{width:100%;height:230px;object-fit:cover;display:block}
.office-card div{padding:24px}
.lead-form{background:white;display:grid;gap:12px;padding:30px;box-shadow:0 14px 36px rgba(0,0,0,.1)}
.lead-form h3,.office-card h3{font-family:Georgia,serif;font-size:1.8rem;margin-bottom:8px}

.newsletter{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:center;background:#dceff1;padding:45px 5%}
.newsletter h2{font-family:Georgia,serif;font-size:2.2rem}
.newsletter form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px}

footer{background:var(--navy);color:white;padding:45px 5%}
.footer-logos{display:flex;gap:32px;align-items:center;margin-bottom:30px}
.footer-logos img:first-child{width:300px;background:white;padding:8px}
.footer-logos img:last-child{width:100px;border-radius:50%}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid rgba(255,255,255,.18);padding-top:24px}
.footer-grid h4{color:var(--gold2);text-transform:uppercase;letter-spacing:.1em}
.footer-grid p,.disclaimer{color:#cbd5e1}
.disclaimer{font-size:.82rem;margin-top:28px}

@media(max-width:1050px){
  .site-header,.hero-inner,.about-ryan,.contact-section,.newsletter{grid-template-columns:1fr}
  .broker-logo{justify-self:start}
  .search-dock form{grid-template-columns:1fr 1fr}
  .cred-strip{grid-template-columns:1fr 1fr}
  .service-icons{grid-template-columns:1fr 1fr}
  .area-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .contact-ribbon{display:grid;text-align:center}
  nav{justify-content:flex-start}
  .broker-logo{max-width:100%}
  .hero-inner{padding:50px 5% 100px}
  .hero h1{font-size:3.8rem}
  .signature{font-size:2.2rem}
  .search-dock form,.cred-strip,.service-icons,.dual-cta,.area-grid,.footer-grid,.newsletter form{grid-template-columns:1fr}
  .footer-logos{flex-direction:column;align-items:flex-start}
}


.domain-tag{
  margin-top:8px;
  display:inline-block;
  background:#c89432;
  color:white;
  padding:6px 10px;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.license-disclosure{
  margin-top:28px;
  color:#cbd5e1;
  font-size:.82rem;
  line-height:1.7;
}


.compliance-block{
  margin-top:30px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.15);
  color:#cbd5e1;
  font-size:.82rem;
  line-height:1.8;
}

.compliance-block strong{
  color:#ffffff;
}


.lux-brand{
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.9rem;
  letter-spacing: -0.06em;
  color:#031c32;
  font-weight:700;
  line-height:1;
}

.lux-brand span{
  color:#c89432;
}

.lux-brand::after{
  content:'';
  display:block;
  width:60px;
  height:2px;
  background:#c89432;
  margin-top:8px;
}
