.elementor-101 .elementor-element.elementor-element-2a0c384{width:var( --container-widget-width, 87.236% );max-width:87.236%;margin:0px 10px calc(var(--kit-widget-spacing, 0px) + 0px) 55px;padding:0px 22px 35px 9px;--container-widget-width:87.236%;--container-widget-flex-grow:0;}.elementor-101 .elementor-element.elementor-element-2a0c384.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-101 .elementor-element.elementor-element-adb9cc2{padding:55px 0px 0px 0px;}.elementor-101 .elementor-element.elementor-element-340ea43{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-3f316a6 */:root{
    --ink:#0E0D0B;
    --ink-soft:#55524C;
    --cream:#F4EFE6;
    --cream-2:#EAE2D2;
    --amber:#CF862E;
    --amber-soft:#E3B278;
    --white:#FFFFFF;
    --line:rgba(20,18,15,0.12);
    --line-dark:rgba(244,239,230,0.16);
    --serif:'Cormorant Garamond', serif;
    --sans:'Inter', sans-serif;
    --script:'Parisienne', cursive;
    --maxw:1240px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{display:block; width:100%; height:100%; object-fit:cover;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 40px;}
  .eyebrow{
    font-size:12.5px; letter-spacing:0.16em; text-transform:uppercase;
    color:var(--amber); font-weight:500; display:flex; align-items:center; gap:12px;
  }
  .eyebrow::before{content:''; width:26px; height:1px; background:var(--amber); display:block;}
  h1,h2,h3{font-family:var(--serif); font-weight:400; line-height:1.08; letter-spacing:-0.01em;}
  .btn{
    display:inline-flex; align-items:center; gap:10px; font-size:13.5px;
    letter-spacing:0.04em; padding:14px 26px; border:1px solid currentColor;
    transition:background .35s ease, color .35s ease, border-color .35s ease;
    white-space:nowrap;
  }
  .btn-dark{color:var(--white); border-color:rgba(255,255,255,0.4);}
  .btn-dark:hover{background:var(--white); color:var(--ink);}
  .btn-ink{color:var(--ink); border-color:rgba(14,13,11,0.3);}
  .btn-ink:hover{background:var(--ink); color:var(--cream);}
  section{position:relative;}
  .reveal{opacity:0; transform:translateY(26px); transition:opacity .9s cubic-bezier(.19,1,.22,1), transform .9s cubic-bezier(.19,1,.22,1);}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:26px 0; transition:background .4s ease, padding .4s ease, border-color .4s ease;
    border-bottom:1px solid transparent;
  }
  header.scrolled{
    background:rgba(14,13,11,0.86); backdrop-filter:blur(10px);
    padding:16px 0; border-bottom:1px solid var(--line-dark);
  }
  nav.wrap{display:flex; align-items:center; justify-content:space-between;}
  .logo{font-family:var(--serif); font-size:22px; color:var(--white); letter-spacing:0.02em;}
  .logo span{color:var(--amber); font-family:var(--script); font-size:26px; margin-right:2px;}
  .navlinks{display:flex; gap:38px; list-style:none;}
  .navlinks a{
    font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(244,239,230,0.78);
    position:relative; padding-bottom:4px;
  }
  .navlinks a::after{content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--amber); transition:width .3s ease;}
  .navlinks a:hover::after, .navlinks a.active::after{width:100%;}
  .navlinks a.active{color:var(--white);}
  .navcta{font-size:12.5px;}
  .navtoggle{display:none;}

  /* ---------- HERO ---------- */
  .hero{
    background:var(--ink); color:var(--white);
    padding:170px 0 90px; overflow:hidden; position:relative;
  }
  .hero::before{
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse at 78% 12%, rgba(207,134,46,0.18), transparent 55%);
    pointer-events:none;
  }
  .hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:60px; align-items:end; position:relative;}
  .hero-head h1{font-size:clamp(46px,6.4vw,84px); margin-top:18px;}
  .hero-head h1 em{font-style:italic; color:var(--amber-soft);}
  .hero-sub{
    font-size:16.5px; line-height:1.7; color:rgba(244,239,230,0.72);
    max-width:360px; padding-bottom:6px;
  }
  .hero-sub strong{color:var(--white); font-weight:500;}

  /* ---------- COLLAGE ---------- */
  .collage{padding:26px 0 100px; background:var(--ink);}
  .collage-grid{
    display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:18px; height:520px;
  }
  .c-figure{position:relative; overflow:hidden; border-radius:2px;}
  .c-figure img{transition:transform 1.1s cubic-bezier(.19,1,.22,1);}
  .c-figure:hover img{transform:scale(1.06);}
  .c-tag{
    position:absolute; left:18px; bottom:18px; color:var(--white);
    font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase;
    display:flex; align-items:center; gap:8px; z-index:2;
  }
  .c-tag::before{content:''; width:16px; height:1px; background:var(--amber);}
  .c-figure::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 42%);
  }
  .c-main{grid-row:1 / 3;}
  .c-col{display:grid; grid-template-rows:1fr; gap:18px;}
  .c-col.split{grid-template-rows:1fr 1fr;}

  /* ---------- STATS BRIDGE ---------- */
  .bridge{
    background:linear-gradient(180deg, var(--ink) 0%, #CF862E 100%);
    height:64px;
  }
  .stats{
    background:#CF862E; padding:64px 0; color:var(--white);
  }
  .stats-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:30px; text-align:center;
  }
  .stat-num{font-family:var(--serif); font-size:clamp(32px,4vw,48px);}
  .stat-label{font-size:12px; letter-spacing:0.1em; text-transform:uppercase; opacity:0.85; margin-top:6px;}
  .stats-divider{width:1px; background:rgba(255,255,255,0.28); justify-self:center; height:100%;}

  /* ---------- BIO ---------- */
  .bio{background:var(--cream); padding:130px 0 110px;}
  .bio-grid{display:grid; grid-template-columns:0.92fr 1.4fr; gap:80px;}
  .bio-head h2{font-size:clamp(34px,3.6vw,50px); margin-top:16px; color:var(--ink);}
  .bio-facts{margin-top:44px; border-top:1px solid var(--line);}
  .fact{padding:20px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:110px 1fr; gap:16px;}
  .fact-label{font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); padding-top:2px;}
  .fact-val{font-size:15px; color:var(--ink);}
  .fact-val a:hover{color:var(--amber);}
  .socials{display:flex; gap:18px; margin-top:30px;}
  .socials a{
    font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft);
    border-bottom:1px solid transparent; padding-bottom:3px; transition:color .3s, border-color .3s;
  }
  .socials a:hover{color:var(--amber); border-color:var(--amber);}
  .bio-copy p{
    font-family:var(--serif); font-size:19.5px; line-height:1.75; color:#2A2823;
    margin-bottom:26px; max-width:640px;
  }
  .bio-copy p:first-of-type::first-letter{
    font-size:64px; float:left; line-height:0.8; padding:8px 10px 0 0; color:var(--amber);
    font-family:var(--serif);
  }
  .pull{
    font-family:var(--script); font-size:34px; color:var(--amber); margin:36px 0 30px;
    line-height:1.3;
  }

  /* ---------- JOURNEY ---------- */
  .journey{background:var(--ink); color:var(--white); padding:120px 0;}
  .journey-top{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:70px; flex-wrap:wrap;}
  .journey-top h2{font-size:clamp(32px,3.6vw,46px); margin-top:16px; max-width:520px;}
  .journey-top p{color:rgba(244,239,230,0.65); max-width:340px; font-size:15px; line-height:1.7; padding-bottom:4px;}
  .timeline{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;}
  .timeline::before{content:''; position:absolute; top:11px; left:0; right:0; height:1px; background:var(--line-dark);}
  .t-item{padding-right:30px; position:relative;}
  .t-dot{width:11px; height:11px; border-radius:50%; background:var(--ink); border:1px solid var(--amber); margin-bottom:26px; position:relative; z-index:2;}
  .t-item.active .t-dot{background:var(--amber);}
  .t-stage{font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--amber); margin-bottom:10px;}
  .t-item h3{font-family:var(--serif); font-size:22px; margin-bottom:10px; font-weight:500;}
  .t-item p{font-size:14px; line-height:1.65; color:rgba(244,239,230,0.62);}

  /* ---------- LIFESTYLE ---------- */
  .lifestyle{background:var(--cream); padding:120px 0;}
  .life-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:center;}
  .life-img{aspect-ratio:4/5; overflow:hidden; border-radius:2px; position:relative;}
  .life-img img{transition:transform 1.2s cubic-bezier(.19,1,.22,1);}
  .life-img:hover img{transform:scale(1.05);}
  .life-copy h2{font-size:clamp(32px,3.6vw,46px); color:var(--ink); margin-top:16px;}
  .life-copy p{font-size:16.5px; line-height:1.8; color:var(--ink-soft); margin-top:26px; max-width:520px;}
  .chips{display:flex; flex-wrap:wrap; gap:12px; margin-top:34px;}
  .chip{
    font-size:12.5px; letter-spacing:0.04em; padding:9px 18px; border:1px solid var(--line);
    color:var(--ink-soft); border-radius:30px;
  }

  /* ---------- SOLD LISTINGS ---------- */
  .sold{background:var(--cream); padding:120px 0;}
  .sold-top{max-width:620px; margin-bottom:50px;}
  .sold-top h2{font-size:clamp(32px,3.6vw,46px); margin-top:16px; color:var(--ink);}
  .sold-top p{font-size:16px; line-height:1.7; color:var(--ink-soft); margin-top:20px;}
  .sold-frame{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:2px;
    overflow:hidden;
    box-shadow:0 30px 70px rgba(20,18,15,0.06);
  }
  .sold-frame iframe{
    display:block;
    width:100%;
    height:1800px;
    border:0;
  }
  @media(max-width:980px){
    .sold-frame iframe{height:2200px;}
  }
  @media(max-width:560px){
    .sold-frame iframe{height:2500px;}
  }

  /* ---------- RESPONSIVE ---------- */
  @media(max-width:980px){
    .wrap{padding:0 26px;}
    .navlinks{display:none;}
    .hero-grid{grid-template-columns:1fr; gap:30px;}
    .collage-grid{grid-template-columns:1fr 1fr; height:auto;}
    .c-main{grid-row:auto; aspect-ratio:1/1;}
    .c-col{grid-template-rows:1fr 1fr; gap:18px;}
    .c-col.split{grid-template-rows:1fr 1fr;}
    .c-figure{aspect-ratio:1/1;}
    .stats-grid{grid-template-columns:1fr 1fr; gap:36px 20px;}
    .bio-grid, .life-grid{grid-template-columns:1fr; gap:44px;}
    .life-grid{direction:ltr;}
    .timeline{grid-template-columns:1fr 1fr; row-gap:44px;}
    .timeline::before{display:none;}
  }
  @media(max-width:560px){
    .hero{padding:150px 0 70px;}
    .stats-grid{grid-template-columns:1fr 1fr;}
    .timeline{grid-template-columns:1fr;}
  }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2a0c384 *//* ---------- CONTACT — LEFT COLUMN ----------
   Apply var(--ink) as the Elementor SECTION's background (or set
   it on this column directly, same as you did on the contact-page
   dark form column) — don't rely on a .contact wrapper div that
   no longer exists here now that Elementor owns the section/columns. */

.contact-head h2{
  font-size:clamp(34px,3.8vw,52px);
  margin-top:16px;
  color:var(--white);
}
.contact-head p{
  color:rgba(244,239,230,0.65);
  font-size:15.5px;
  line-height:1.75;
  margin-top:22px;
  max-width:340px;
}
.eyebrow{
  font-size:11.5px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--amber);
}
.contact-details{
  margin-top:44px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.contact-details a{
  font-size:15px;
  color:var(--white);
  border-bottom:1px solid var(--line-dark);
  padding-bottom:2px;
  width:fit-content;
}
.contact-details a:hover{
  color:var(--amber);
  border-color:var(--amber);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-340ea43 *//* ---------- FOOTER ----------
   Replace your ENTIRE existing "footer{...}" rule with this one block —
   it keeps the original dark background/padding/color AND adds the
   position:relative + overflow:hidden the watermark needs to anchor
   inside the footer instead of the whole document. */
footer{
  position:relative;
  overflow:hidden;
  background:#0A0908;
  color:rgba(244,239,230,0.55);
  padding:60px 0 30px;
}
.foot-top{display:flex; justify-content:space-between; align-items:center; padding-bottom:40px; border-bottom:1px solid var(--line-dark); flex-wrap:wrap; gap:20px;}
.foot-bottom{padding-top:26px; display:flex; justify-content:space-between; font-size:12.5px; flex-wrap:wrap; gap:12px;}

.footer-watermark{
  position:absolute;
  bottom:-6vw;
  left:50%;
  transform:translateX(-50%);
  margin:0;
  font-family:var(--serif);
  font-size:26vw;
  line-height:1;
  white-space:nowrap;
  color:rgba(244,239,230,0.04);
  pointer-events:none;
  user-select:none;
  z-index:0;
}

footer .wrap{
  position:relative;
  z-index:1;
}/* End custom CSS */