/* ============================================================
   ESTATE — the real estate consultancy
   Scoped to body.d-estate. 1rem = 10px.
   ============================================================ */
body.d-estate{
  --es-navy:#0f1d33;--es-navy2:#16294a;--es-gold:#c79a4b;--es-gold2:#e2c088;--es-ivory:#fbf8f2;--es-sand:#f3ede2;--es-ink:#131b2a;--es-soft:#465062;--es-mute:#6a7282;--es-line:#e6dfd1;--es-orange:#e8741d;
  --bg-primary:var(--es-ivory);--bg-secondary:var(--es-sand);--bg-card:#fff;--bg-inset:#f4efe5;
  --fg-primary:var(--es-ink);--fg-soft:var(--es-soft);--fg-muted:var(--es-mute);--border-color:var(--es-line);--border-strong:#d4c8b1;
  background:var(--es-ivory);color:var(--es-ink);font-family:'Mulish',system-ui,sans-serif
}
body.d-estate h1,body.d-estate h2,body.d-estate h3{font-family:'Marcellus',Georgia,serif;font-weight:400;letter-spacing:-.005em;line-height:1.08}
.es-kick{display:inline-flex;align-items:center;gap:1rem;font-size:1.2rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--es-gold);margin-bottom:1.6rem}
.es-kick::before{content:'';width:28px;height:1px;background:currentColor}
.es-kick-l{color:var(--es-gold2)}
.es-anchor{display:block;position:relative;top:-100px}

body.d-estate .bx-nav{background:rgba(251,248,242,.88)}
body.d-estate .bx-brand-mark{border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--es-line)}
body.d-estate .bx-brand-mark img{object-fit:cover;padding:0}
body.d-estate .bx-brand-txt b{font-family:'Marcellus',serif;font-weight:400;font-size:1.9rem}
body.d-estate .bx-nav-links a{font-weight:600;font-size:1.25rem;color:var(--es-soft)}
body.d-estate .bx-nav-links a::after{background:var(--es-gold);height:2px}
body.d-estate .bx-nav-cta{background:var(--es-navy);border-radius:4px}

/* hero */
.es-hero{position:relative;overflow:hidden;padding:calc(var(--nav-h) + 6rem) 3rem 16rem;background:linear-gradient(180deg,#fff 0%,var(--es-ivory) 60%,#f1e7d4 100%)}
.es-sky{position:absolute;left:0;right:0;bottom:0;width:100%;height:260px;pointer-events:none}
.es-b1{fill:#f0e6d3}.es-b2{fill:#e4d4b4;opacity:.8}.es-b3{fill:var(--es-navy);opacity:.14}
.es-sky g{will-change:transform}
.es-hero-in{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:6rem;align-items:center}
.es-firm{display:inline-flex;align-items:center;gap:1.2rem;padding:.6rem 1.8rem .6rem .6rem;border-radius:999px;background:#fff;box-shadow:0 8px 24px rgba(15,29,51,.07);font-weight:700;font-size:1.35rem;margin-bottom:2.8rem}
.es-firm img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.es-hero h1{font-size:clamp(4.8rem,7vw,8.6rem);color:var(--es-navy)}
.es-lede{font-size:1.8rem;line-height:1.65;color:var(--es-soft);margin-top:2.4rem;max-width:52ch}
.es-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3.4rem}
.es-btn{display:inline-flex;align-items:center;gap:1rem;padding:1.6rem 2.8rem;border-radius:4px;font-size:1.45rem;font-weight:700;letter-spacing:.02em;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.es-btn-gold{background:linear-gradient(135deg,var(--es-gold2),var(--es-gold));color:var(--es-navy);box-shadow:0 14px 30px rgba(199,154,75,.35)}
.es-btn-gold:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(199,154,75,.45)}
.es-btn-line{border:1px solid var(--es-navy);color:var(--es-navy);background:#fff}
.es-btn-line:hover{background:var(--es-navy);color:#fff}
.es-agent{position:relative;background:#fff;border-radius:28px;padding:1.4rem;box-shadow:0 40px 80px rgba(15,29,51,.16);max-width:440px;justify-self:center;width:100%}
.es-agent-photo{border-radius:20px;overflow:hidden;aspect-ratio:1}
.es-agent-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.es-agent figcaption{padding:2rem 1.2rem 1rem;display:flex;flex-direction:column;gap:.4rem}
.es-agent b{font-family:'Marcellus',serif;font-weight:400;font-size:2.6rem;color:var(--es-navy)}
.es-agent span{font-size:1.4rem;color:var(--es-soft);font-weight:600}
.es-agent small{font-size:1.3rem;color:var(--es-mute)}
.es-agent small i{color:var(--es-gold)}
.es-agent::before{content:'';position:absolute;inset:-12px;border:1px solid var(--es-gold2);border-radius:34px;z-index:-1}

.es-figs{position:relative;z-index:2;max-width:var(--max-w);margin:-6rem auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));background:var(--es-navy);color:#fff;border-radius:6px;box-shadow:0 30px 60px rgba(15,29,51,.25)}
.es-figs>div{padding:3.4rem 3rem;border-left:1px solid rgba(226,192,136,.18)}
.es-figs>div:first-child{border-left:0}
.es-figs b{display:block;font-family:'Marcellus',serif;font-weight:400;font-size:clamp(3.6rem,4.4vw,5rem);color:var(--es-gold2);line-height:1}
.es-figs span{display:block;font-size:1.35rem;color:rgba(255,255,255,.72);margin-top:.8rem}

/* sections */
.es-sec{padding:10rem 3rem 0}
.es-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.es-head{text-align:center;margin-bottom:5rem;max-width:760px!important}
.es-head .es-kick{justify-content:center}
.es-sec h2{font-size:clamp(3.6rem,5vw,5.8rem);color:var(--es-navy)}

.es-svc{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.es-card{background:#fff;border:1px solid var(--es-line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s}
.es-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(15,29,51,.12)}
.es-card-lead{grid-column:span 2;flex-direction:row}
.es-card-lead .es-card-img{flex:1.2;aspect-ratio:auto}
.es-card-lead .es-card-body{flex:1;justify-content:center}
.es-card-img{display:block;aspect-ratio:3/2;overflow:hidden}
.es-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.es-card:hover .es-card-img img{transform:scale(1.06)}
.es-card-body{padding:2.8rem;display:flex;flex-direction:column;flex:1}
.es-card-n{font-family:'Marcellus',serif;font-size:1.6rem;color:var(--es-gold)}
.es-card h3{font-size:2.4rem;color:var(--es-navy);margin:.6rem 0 1rem}
.es-card p{font-size:1.5rem;line-height:1.65;color:var(--es-soft);flex:1}
.es-card a{margin-top:2rem;font-weight:700;font-size:1.35rem;color:var(--es-navy);display:inline-flex;gap:.6rem;align-items:center}
.es-card a i{color:var(--es-gold);transition:transform .25s}
.es-card a:hover i{transform:translateX(4px)}

.es-partners{margin:10rem 2rem 0;border-radius:8px;background:var(--es-navy);color:#fff;overflow:hidden}
.es-partners-in{max-width:var(--max-w);margin:0 auto;padding:8rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.es-partners h2{font-size:clamp(3.4rem,4.4vw,5rem);color:#fff}
.es-partners p:not(.es-kick){font-size:1.65rem;line-height:1.7;color:rgba(255,255,255,.72);margin:2rem 0 3rem}
.es-partners img{width:100%;border-radius:8px;box-shadow:0 30px 70px rgba(0,0,0,.4);transition:transform .3s var(--ease)}

.es-about{display:grid;grid-template-columns:1.2fr .8fr;gap:6rem;align-items:start}
.es-about h2{margin-bottom:2.4rem}
.es-p{font-size:1.7rem;line-height:1.8;color:var(--es-soft)}
.es-p+.es-p{margin-top:1.4rem}
.es-facts{background:#fff;border:1px solid var(--es-line);border-radius:6px;padding:3rem;position:sticky;top:calc(var(--nav-h) + 3rem)}
.es-facts-logo{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 2rem;display:block;box-shadow:0 0 0 1px var(--es-line)}
.es-facts dl>div{padding:1.4rem 0;border-bottom:1px solid var(--es-line)}
.es-facts dl>div:last-child{border-bottom:0}
.es-facts dt{font-size:1.1rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--es-gold)}
.es-facts dd{font-size:1.5rem;font-weight:600;margin-top:.4rem;line-height:1.5}

.es-clients{margin-top:10rem;border-block:1px solid var(--es-line);background:#fff;padding:2.4rem 0;overflow:hidden;display:flex;align-items:center;gap:3rem}
.es-clients>p{flex-shrink:0;padding-left:3rem;font-size:1.2rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--es-gold)}
.es-clients-track{display:flex;align-items:center;gap:2.6rem;width:max-content;animation:es-mq 40s linear infinite}
.es-clients-track span{font-family:'Marcellus',serif;font-size:2rem;color:var(--es-navy);white-space:nowrap}
.es-clients-track i{font-style:normal;color:var(--es-gold);font-size:1.1rem}
@keyframes es-mq{to{transform:translateX(-50%)}}

.es-rev{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.es-rev-card{background:#fff;border:1px solid var(--es-line);border-radius:6px;padding:3rem;display:flex;flex-direction:column;gap:1.8rem}
.es-rev-card>i{font-size:2.4rem;color:var(--es-gold)}
.es-rev-card blockquote{font-size:1.5rem;line-height:1.7;color:var(--es-soft);flex:1}
.es-rev-card figcaption{display:flex;align-items:center;gap:1.2rem}
.es-rev-card figcaption span{width:44px;height:44px;border-radius:50%;background:var(--es-navy);color:var(--es-gold2);display:flex;align-items:center;justify-content:center;font-family:'Marcellus',serif;font-size:1.8rem;flex-shrink:0}
.es-rev-card b{display:block;font-size:1.45rem}
.es-rev-card small{font-size:1.25rem;color:var(--es-mute)}
.es-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.es-gal-item{padding:0;border-radius:6px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in}
.es-gal-item img{width:100%;height:100%;object-fit:cover}
body.d-estate .hours-card{max-width:none}
body.d-estate .hours-row{border-radius:4px}

.es-contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:5rem;border-radius:8px;background:#fff;border:1px solid var(--es-line)}
.es-contact-lede{font-size:1.6rem;line-height:1.65;color:var(--es-soft);margin:1.8rem 0 3rem}
body.d-estate .ci{border-radius:4px}
body.d-estate .ci-ico{background:var(--es-navy);color:var(--es-gold2)}
body.d-estate .contact-form{border-radius:6px;background:var(--es-ivory)}
body.d-estate .contact-form h3{font-family:'Marcellus',serif;font-weight:400;font-size:2.6rem;margin-bottom:1.6rem;color:var(--es-navy)}
body.d-estate .cf-field input,body.d-estate .cf-field textarea{border-radius:4px;background:#fff}
body.d-estate .btn-onbiz{background:var(--es-navy);border-radius:4px}
.es-map{margin-top:3rem}
body.d-estate .biz-map{border-radius:6px}
.es-share{max-width:var(--max-w);margin:4rem auto 0;padding:0 3rem}
body.d-estate .bx-foot{background:var(--es-navy);color:#dfe4ee;border-top:3px solid var(--es-gold);margin-top:6rem}
body.d-estate .bx-foot p,body.d-estate .bx-foot li,body.d-estate .bx-foot a{color:rgba(223,228,238,.72)}
body.d-estate .bx-foot-col h2{color:var(--es-gold2)}
body.d-estate .bx-foot .bx-brand-txt b{color:#fff}
body.d-estate .bx-foot .btn-onbiz{background:var(--es-gold);color:var(--es-navy)}
body.d-estate .bx-foot .btn-outline{border-color:rgba(255,255,255,.3);color:#fff}
body.d-estate .bx-foot-bottom{border-top-color:rgba(255,255,255,.1)}
.es-hero-in>*,.es-about>*,.es-contact>*,.es-partners-in>*{min-width:0}

@media (max-width:980px){
  .es-hero-in,.es-about,.es-contact,.es-partners-in{grid-template-columns:1fr}
  .es-svc,.es-rev{grid-template-columns:1fr 1fr}
  .es-facts{position:static}
  .es-contact{padding:3rem}
}
@media (max-width:640px){
  .es-hero{padding:calc(var(--nav-h) + 3rem) 1.6rem 12rem}
  .es-sky{height:150px}
  .es-figs{margin:-5rem 1.6rem 0;grid-template-columns:1fr 1fr}
  .es-figs>div{border-left:0;border-top:1px solid rgba(226,192,136,.18);padding:2.4rem 2rem}
  .es-sec{padding:7rem 1.6rem 0}
  .es-svc,.es-rev,.es-gal{grid-template-columns:1fr}
  .es-card-lead{grid-column:auto;flex-direction:column}
  .es-card-lead .es-card-img{aspect-ratio:3/2}
  .es-partners{margin:7rem 0 0;border-radius:0}
  .es-partners-in{padding:6rem 1.6rem;gap:3rem}
  .es-clients>p{display:none}
  .es-contact{padding:2rem}
  .es-share{padding:0 1.6rem}
}
@media (prefers-reduced-motion:reduce){.es-clients-track{animation:none}}
