/* ============ Drafted Property Group — shared styles ============ */
:root{
  --paper:#EFEAE0;
  --paper-2:#E6E0D2;
  --ink:#1C3F4F;
  --ink-soft:#3C5C6B;
  --charcoal:#232320;
  --copper:#B98C49;
  --brand-brown:#603913;
  --brand-gray:#58595B;
  --line:rgba(28,63,79,0.22);
  --white:#FBFAF6;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--charcoal);
  font-family:'Inter', sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
h1,h2,h3{font-family:'Fraunces', serif; font-weight:500; color:var(--ink); letter-spacing:-0.01em;}
.mono{font-family:'JetBrains Mono', monospace;}
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink-soft);
}

/* NAV */
header{
  position:sticky; top:0; z-index:50;
  background:var(--white);
  border-bottom:3px solid var(--ink);
}
/* HEADER HEIGHT: change the padding here (was 14px 0) */
nav{display:flex; align-items:center; justify-content:space-between; padding:20px 0;}

.brand{display:flex; align-items:center; gap:14px;}
/* Logo size (was 42px tall / 120px max) */
.brand-mark-img{height:52px; width:auto; max-width:140px; object-fit:contain; flex-shrink:0; display:block;}
.brand-text{display:flex; flex-direction:column; line-height:1.15; justify-content:center;}
.brand-text .l1{
  font-family:'Inter', sans-serif; font-weight:700; font-size:20px; letter-spacing:0.03em; color:var(--brand-brown);
}
.brand-text .l2{
  font-family:'Inter', sans-serif; font-weight:500; font-size:12px; letter-spacing:0.14em; color:var(--brand-gray);
  margin-top:2px;
}

/* Luxvista (right side partner logo) */
.brand-divider{width:1px; height:42px; background:var(--line); flex-shrink:0;}
.brand-partner .brand-mark-img{mix-blend-mode:normal;}
.brand-partner .brand-text .l1{color:var(--copper);}
.brand-partner .brand-text .l2{color:var(--brand-gray); font-size:9px; letter-spacing:0.08em; text-transform:uppercase;}

.nav-right{display:flex; align-items:center; gap:22px;}
.icon-btn{
  background:none; border:none; cursor:pointer; padding:6px; display:flex;
  align-items:center; justify-content:center; color:var(--charcoal);
}
.icon-btn svg{width:19px; height:19px;}
.icon-btn:hover{color:var(--ink);}
.signature{
  font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:24px; color:var(--copper);
}

/* Overlay menu (opened via hamburger) */
.nav-overlay{
  position:fixed; inset:0; background:var(--paper);
  z-index:100; display:flex; flex-direction:column;
  transform:translateY(-100%); transition:transform .3s ease;
}
.nav-overlay.open{transform:translateY(0);}
.nav-overlay-top{
  display:flex; justify-content:space-between; align-items:center;
  padding:28px 32px; border-bottom:1px solid var(--line);
}
.nav-overlay-close{background:none; border:none; cursor:pointer; padding:6px;}
.nav-overlay-close svg{width:24px; height:24px; stroke:var(--ink);}
.nav-overlay-links{
  flex:1; display:flex; flex-direction:column; justify-content:center;
  padding:32px; gap:8px; max-width:1180px; margin:0 auto; width:100%;
  overflow-y:auto; min-height:0;
}
.nav-overlay-links a{
  font-family:'Fraunces', serif; font-size:clamp(32px,6vw,56px); font-weight:500; color:var(--ink);
  padding:10px 0; border-bottom:1px solid var(--line); transition:color .15s;
}
.nav-overlay-links a:hover{color:var(--copper);}
.nav-overlay-links a.active{color:var(--copper);}
.nav-overlay-cta{margin-top:24px;}
/* Fix: overlay link rule was overriding the button's text colour/padding */
.nav-overlay-links a.cta{
  background:var(--ink); color:var(--white); border:1px solid var(--ink); border-radius:2px;
  font-family:'Inter', sans-serif; font-size:15px; font-weight:600;
  padding:14px 28px;
}
.nav-overlay-links a.cta:hover{background:transparent; color:var(--ink);}

.cta{
  background:var(--ink); color:var(--white); padding:11px 22px; border-radius:2px;
  font-size:14px; font-weight:600; border:1px solid var(--ink);
  transition:background .2s, color .2s; cursor:pointer; display:inline-block;
}
.cta:hover{background:transparent; color:var(--ink);}
.cta:focus-visible, a:focus-visible, button:focus-visible{outline:2px solid var(--copper); outline-offset:2px;}

/* PAGE HERO (interior pages) */
.page-hero{padding:64px 0 48px; border-bottom:1px solid var(--line);}
.page-hero h1{font-size:clamp(32px,4.4vw,48px); margin:14px 0 12px;}
.page-hero p{color:var(--ink-soft); max-width:520px; font-size:16px;}

/* IMAGE HERO (about / careers / contact) */
.image-hero{position:relative; min-height:440px; display:flex; align-items:center; overflow:hidden;}
.image-hero-media{position:absolute; inset:0; z-index:0; background:var(--ink);}
.image-hero-media img{width:100%; height:100%; object-fit:cover; display:block;}
.image-hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(28,63,79,0.6) 0%, rgba(28,63,79,0.42) 45%, rgba(28,63,79,0.74) 100%);
}
.image-hero-tag{
  position:absolute; bottom:20px; left:32px; right:32px; z-index:1;
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.08em;
  color:rgba(251,250,246,0.75); display:flex; justify-content:space-between;
}
.image-hero-content{position:relative; z-index:1; padding:100px 32px 80px;}
.image-hero-content .eyebrow{color:rgba(251,250,246,0.8);}
.image-hero-content h1{color:var(--white); font-size:clamp(32px,4.4vw,48px); margin:14px 0 12px;}
.image-hero-content p{color:rgba(251,250,246,0.88); max-width:520px; font-size:16px;}

/* HOME HERO */
.hero{padding:96px 0 80px; position:relative; overflow:hidden;}
.hero-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center;}
.hero h1{font-size:clamp(38px, 5vw, 58px); line-height:1.05; margin:18px 0 22px;}
.hero h1 em{font-style:italic; color:var(--copper);}
.hero p{font-size:17px; color:var(--ink-soft); max-width:440px; margin-bottom:32px;}
.hero-actions{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
.link-arrow{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14px; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:2px;}

.blueprint{position:relative; aspect-ratio:1/1; background:var(--ink); border-radius:4px; overflow:hidden;}
.blueprint svg{width:100%; height:100%;}
.blueprint-caption{
  position:absolute; bottom:16px; left:16px; right:16px;
  font-family:'JetBrains Mono', monospace; font-size:11px; color:rgba(251,250,246,0.55);
  letter-spacing:0.05em; display:flex; justify-content:space-between;
}

/* HOME HERO — VIDEO */
.hero-video{position:relative; min-height:640px; display:flex; align-items:center; overflow:hidden;}
.hero-video-media{position:absolute; inset:0; z-index:0; background:var(--ink);}
.hero-video-media video{width:100%; height:100%; object-fit:cover; display:block;}
.hero-video-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(28,63,79,0.58) 0%, rgba(28,63,79,0.42) 45%, rgba(28,63,79,0.72) 100%);
}
.hero-video-tag{
  position:absolute; bottom:20px; left:32px; right:32px; z-index:1;
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.08em;
  color:rgba(251,250,246,0.75); display:flex; justify-content:space-between;
}
.hero-video-content{position:relative; z-index:1; padding:120px 32px 96px;}
.hero-video-content .eyebrow{color:rgba(251,250,246,0.8);}
.hero-video-content h1{color:var(--white); font-size:clamp(38px, 5vw, 58px); line-height:1.05; margin:18px 0 22px;}
.hero-video-content h1 em{font-style:italic; color:var(--copper);}
.hero-video-content p{color:rgba(251,250,246,0.88); font-size:17px; max-width:480px; margin-bottom:32px;}
.cta-light{background:var(--white); color:var(--ink); border-color:var(--white);}
.cta-light:hover{background:transparent; color:var(--white);}
.link-arrow-light{color:var(--white); border-bottom-color:var(--white);}

/* STATS STRIP */
.stats{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:28px 0;}
.stats-row{display:flex; gap:0;}
.stat{flex:1; text-align:left; padding:0 24px; border-left:1px solid var(--line);}
.stat:first-child{border-left:none; padding-left:0;}
.stat .num{font-family:'Fraunces', serif; font-size:30px; color:var(--ink);}
.stat .label{font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft); margin-top:4px;}

/* SECTION HEADER */
.section{padding:88px 0;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; gap:24px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(28px,3.4vw,38px);}
.section-head p{color:var(--ink-soft); max-width:380px; font-size:15px;}

/* LISTINGS / CARDS */
.listings{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.card{background:var(--white); border:1px solid var(--line); border-radius:3px; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease;}
.card:hover{transform:translateY(-4px); box-shadow:0 16px 32px rgba(28,63,79,0.12);}

/* Card image area — change the height here to make cards taller/shorter */
.card-visual{
  position:relative;
  height:260px;
  overflow:hidden;
  background:linear-gradient(135deg, var(--paper-2), var(--paper));
  border-bottom:1px solid var(--line);
}
.card-visual svg{position:absolute; inset:0; width:100%; height:100%;}
.card-visual img{
  position:absolute;
  top:0; left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .4s ease;
}
.card:hover .card-visual img{transform:scale(1.05);}
/* soft dark fade at the top so the tag stays readable on bright photos */
.card-visual::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(28,63,79,0.35) 0%, transparent 40%);
  pointer-events:none;
}
.card-tag{
  position:absolute; top:12px; left:12px; z-index:2; background:var(--ink); color:var(--white);
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.06em;
  padding:4px 8px; border-radius:2px; text-transform:uppercase;
}
.card-body{padding:26px 24px;}
.card-body h3{font-size:21px; margin-bottom:4px;}
.card-loc{font-size:13px; color:var(--ink-soft); margin-bottom:14px;}
.spec-row{
  display:flex; justify-content:space-between; font-family:'JetBrains Mono', monospace; font-size:12px;
  border-top:1px dashed var(--line); padding-top:14px; margin-top:14px; color:var(--charcoal);
}
.spec-row span:first-child{color:var(--ink-soft);}
.price{font-family:'JetBrains Mono', monospace; font-weight:600; font-size:18px; color:var(--ink); margin-top:18px;}

/* FILTER TABS (properties page) */
.filter-tabs{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:40px;}
.filter-tab{
  font-family:'JetBrains Mono', monospace; font-size:12px; text-transform:uppercase; letter-spacing:0.05em;
  padding:9px 16px; border:1px solid var(--line); border-radius:2px; background:var(--white); cursor:pointer;
  color:var(--ink-soft); transition:all .15s;
}
.filter-tab.active, .filter-tab:hover{background:var(--ink); color:var(--white); border-color:var(--ink);}

/* PROCESS */
.process-list{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line);}
.process-item{padding:28px 20px 0 0; border-left:1px solid var(--line); padding-left:24px; position:relative;}
.process-item:first-child{border-left:none; padding-left:0;}
.process-num{font-family:'JetBrains Mono', monospace; color:var(--copper); font-size:13px; margin-bottom:14px; display:block;}
.process-item h3{font-size:18px; margin-bottom:8px;}
.process-item p{font-size:14px; color:var(--ink-soft);}

/* QUOTE / ABOUT */
.quote-block{
  background:var(--ink); color:var(--white); border-radius:4px; padding:64px;
  display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center;
}
.quote-block blockquote{font-family:'Fraunces', serif; font-style:italic; font-size:clamp(22px,2.6vw,30px); line-height:1.35; color:var(--white);}
.quote-block .attrib{margin-top:20px; font-family:'JetBrains Mono', monospace; font-size:12px; color:rgba(251,250,246,0.6);}
.quote-mark{font-family:'Fraunces', serif; font-size:110px; color:rgba(181,101,44,0.5); line-height:1;}

/* VIDEO TESTIMONIALS (shared: home + about) */
.testimonial-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.testimonial-card{background:var(--white); border:1px solid var(--line); border-radius:3px; overflow:hidden;}
.testimonial-media{
  position:relative; aspect-ratio:16/10; overflow:hidden; cursor:pointer;
  background:linear-gradient(135deg, var(--ink) 0%, #13303c 100%);
  display:flex; align-items:center; justify-content:center;
}
.testimonial-initial{
  position:absolute; right:14px; bottom:6px;
  font-family:'Fraunces', serif; font-size:104px; line-height:1; color:rgba(251,250,246,0.16); user-select:none;
}
.testimonial-media video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:none; background:#000;
}
.testimonial-play{
  position:absolute; width:56px; height:56px; border-radius:50%; background:var(--white);
  border:none; cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,0.28); transition:transform .15s;
}
.testimonial-media:hover .testimonial-play{transform:scale(1.08);}
.testimonial-play svg{width:18px; height:18px; fill:var(--ink); margin-left:3px;}
.testimonial-media.playing .testimonial-play,
.testimonial-media.playing .testimonial-initial{display:none;}
.testimonial-badge{
  position:absolute; top:12px; left:12px;
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.06em; text-transform:uppercase;
  color:rgba(251,250,246,0.7); background:rgba(0,0,0,0.28); padding:4px 8px; border-radius:2px;
}
.testimonial-media.playing .testimonial-badge{display:none;}
.testimonial-info{padding:18px 20px;}
.testimonial-info h3{font-size:16px; margin-bottom:2px;}
.testimonial-role{font-family:'JetBrains Mono', monospace; font-size:11px; text-transform:uppercase; color:var(--ink-soft); letter-spacing:0.04em;}
.testimonial-quote{font-size:13px; color:var(--ink-soft); margin-top:10px; line-height:1.5;}

/* FOUNDER VIDEO (about page) */
.founder-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:48px; align-items:center;}
.founder-media{border-radius:4px; aspect-ratio:16/9;}
.founder-media .testimonial-initial{font-size:96px;}
.founder-text .eyebrow{margin-bottom:14px; display:block;}
.founder-text h2{font-size:clamp(26px,3vw,34px); margin-bottom:16px;}
.founder-text p{color:var(--ink-soft); font-size:15px; margin-bottom:28px;}
.founder-names{display:flex; gap:32px; flex-wrap:wrap;}
.founder-names h3{font-size:16px; margin-bottom:2px; color:var(--ink);}

/* TEAM GRID (about page) */
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.team-card{background:var(--white); border:1px solid var(--line); border-radius:3px; padding:24px;}
.team-avatar{
  width:56px; height:56px; border-radius:50%; background:var(--paper-2); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; font-family:'Fraunces', serif; font-size:20px; color:var(--ink);
  margin-bottom:16px;
}
.team-card h3{font-size:16px; margin-bottom:2px;}
.team-role{font-family:'JetBrains Mono', monospace; font-size:11px; text-transform:uppercase; color:var(--copper); margin-bottom:10px; letter-spacing:0.04em;}
.team-card p{font-size:13px; color:var(--ink-soft);}

/* TIMELINE (about page) */
.timeline{border-top:1px solid var(--line);}
.timeline-row{
  display:grid; grid-template-columns:120px 1fr; gap:32px; padding:24px 0; border-bottom:1px dashed var(--line);
}
.timeline-row .yr{font-family:'JetBrains Mono', monospace; color:var(--copper); font-size:15px;}
.timeline-row h3{font-size:16px; margin-bottom:6px;}
.timeline-row p{font-size:14px; color:var(--ink-soft);}

/* VALUES GRID */
.values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.value-card{padding:28px; border:1px solid var(--line); border-radius:3px; background:var(--white);}
.value-card .num{font-family:'JetBrains Mono', monospace; color:var(--copper); font-size:13px; display:block; margin-bottom:14px;}
.value-card h3{font-size:17px; margin-bottom:8px;}
.value-card p{font-size:14px; color:var(--ink-soft);}

/* JOB LISTINGS (careers page) */
.job-list{border-top:1px solid var(--line);}
.job-row{
  display:grid; grid-template-columns:1fr auto auto auto; gap:20px; align-items:center;
  padding:22px 0; border-bottom:1px solid var(--line);
}
.job-row h3{font-size:16px; margin-bottom:4px;}
.job-row .job-loc{font-size:13px; color:var(--ink-soft);}
.job-tag{
  font-family:'JetBrains Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.05em;
  color:var(--ink-soft); border:1px solid var(--line); padding:5px 10px; border-radius:2px; white-space:nowrap;
}
.job-apply{font-size:13px; font-weight:600; color:var(--ink); border-bottom:1px solid var(--ink); white-space:nowrap;}

/* BENEFITS */
.benefits-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.benefit-card{padding:22px; border:1px solid var(--line); border-radius:3px; background:var(--white); text-align:left;}
.benefit-card .icon{font-size:22px; margin-bottom:12px; display:block;}
.benefit-card h3{font-size:15px; margin-bottom:6px;}
.benefit-card p{font-size:13px; color:var(--ink-soft);}

/* CONTACT */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
.field{margin-bottom:18px;}
.field label{display:block; font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px;}
.field input, .field textarea, .field select{
  width:100%; border:1px solid var(--line); background:var(--white); padding:12px 14px;
  font-family:'Inter', sans-serif; font-size:14px; border-radius:2px; color:var(--charcoal);
}
.field input:focus, .field textarea:focus, .field select:focus{outline:none; border-color:var(--ink);}
.field textarea{resize:vertical; min-height:100px;}
.submit-btn{
  background:var(--copper); color:var(--white); border:none; padding:13px 26px; font-size:14px;
  font-weight:600; border-radius:2px; cursor:pointer; transition:opacity .2s;
}
.submit-btn:hover{opacity:0.88;}
.contact-info h3{font-size:16px; margin-bottom:6px;}
.contact-info p{font-size:14px; color:var(--ink-soft); margin-bottom:24px;}
.info-line{display:flex; justify-content:space-between; padding:14px 0; border-top:1px dashed var(--line); font-size:14px;}
.info-line:last-child{border-bottom:1px dashed var(--line);}
.info-line span:first-child{font-family:'JetBrains Mono', monospace; font-size:11px; text-transform:uppercase; color:var(--ink-soft);}

.office-list{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px;}
.office-card{border:1px solid var(--line); border-radius:3px; padding:20px; background:var(--white);}
.office-card h3{font-size:15px; margin-bottom:8px;}
.office-card p{font-size:13px; color:var(--ink-soft); line-height:1.6;}

/* FOOTER */
footer{border-top:1px solid var(--line); padding:0;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding:56px 0 40px; text-align:center;}
.footer-brand .brand{margin-bottom:16px; pointer-events:none; justify-content:center;}
.footer-blurb{font-size:14px; color:var(--ink-soft); max-width:340px; line-height:1.6; margin:0 auto 20px;}
.footer-social{display:flex; gap:10px; justify-content:center;}
.footer-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid var(--line); background:var(--white);
  display:flex; align-items:center; justify-content:center; transition:background .15s, border-color .15s;
}
.footer-social a:hover{background:var(--ink); border-color:var(--ink);}
.footer-social a svg{width:16px; height:16px; stroke:var(--ink-soft); fill:none; transition:stroke .15s;}
.footer-social a:hover svg{stroke:var(--white);}
.footer-col h3{
  font-family:'JetBrains Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.06em;
  color:var(--ink-soft); margin-bottom:16px;
}
.footer-col a, .footer-col span{display:block; font-size:14px; color:var(--charcoal); margin-bottom:12px;}
.footer-col a:hover{color:var(--ink);}
.footer-banking{
  border-top:1px solid var(--line); padding:26px 0;
  display:flex; align-items:center; justify-content:center; text-align:center; gap:20px; flex-wrap:wrap;
}
.footer-banking-label{
  font-family:'JetBrains Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.06em;
  color:var(--ink-soft); flex-shrink:0;
}
.footer-banking-logos{display:flex; gap:10px; flex-wrap:wrap; justify-content:center;}
.bank-chip{
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.03em;
  border:1px solid var(--line); padding:7px 12px; border-radius:2px; color:var(--ink-soft); background:var(--white);
}
.footer-row{display:flex; justify-content:center; text-align:center; align-items:center; font-size:13px; color:var(--ink-soft); flex-wrap:wrap; gap:12px; padding:20px 0; border-top:1px solid var(--line);}

#toast{
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(120%);
  background:var(--ink); color:var(--white); padding:14px 22px; border-radius:3px;
  font-size:14px; transition:transform .35s ease; z-index:100;
}
#toast.show{transform:translateX(-50%) translateY(0);}

/* FLOATING CONTACT BUTTON */
.fab-container{position:fixed; right:22px; bottom:22px; z-index:90; display:flex; flex-direction:column; align-items:flex-end; gap:12px;}
.fab-menu{display:flex; flex-direction:column; gap:10px; align-items:flex-end;}
.fab-item{
  display:flex; align-items:center; gap:10px;
  opacity:0; transform:translateY(8px) scale(0.9); pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.fab-container.open .fab-item{opacity:1; transform:translateY(0) scale(1); pointer-events:auto;}
.fab-container.open .fab-item:nth-child(1){transition-delay:.03s;}
.fab-container.open .fab-item:nth-child(2){transition-delay:.07s;}
.fab-container.open .fab-item:nth-child(3){transition-delay:.11s;}
.fab-container.open .fab-item:nth-child(4){transition-delay:.15s;}
.fab-item-label{
  background:var(--ink); color:var(--white); font-size:12px; font-weight:500;
  padding:6px 10px; border-radius:3px; white-space:nowrap;
}
.fab-item-btn{
  width:48px; height:48px; border-radius:50%; background:var(--white);
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 20px rgba(28,63,79,0.18); flex-shrink:0;
}
.fab-item-btn svg{width:22px; height:22px;}
.fab-item.fab-call .fab-item-btn svg{stroke:var(--ink); fill:none;}
.fab-item.fab-whatsapp .fab-item-btn{background:#25D366;}
.fab-item.fab-whatsapp .fab-item-btn svg{fill:var(--white);}
.fab-item.fab-mail .fab-item-btn svg{stroke:var(--ink); fill:none;}
.fab-item.fab-linkedin .fab-item-btn{background:#0A66C2;}
.fab-item.fab-linkedin .fab-item-btn svg{fill:var(--white);}
.fab-toggle{
  width:58px; height:58px; border-radius:50%; background:var(--ink); border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(28,63,79,0.34); flex-shrink:0;
}
.fab-toggle svg{width:24px; height:24px; stroke:var(--white); fill:none; transition:transform .25s ease;}
.fab-container.open .fab-toggle svg{transform:rotate(45deg);}

/* ============ RESPONSIVE ============ */
@media (prefers-reduced-motion: reduce){ *{transition:none !important; scroll-behavior:auto !important;} }

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-video{min-height:520px;}
  .hero-video-content{padding:90px 24px 64px;}
  .listings{grid-template-columns:1fr 1fr;}
  .process-list{grid-template-columns:1fr 1fr;}
  .process-item{border-left:none; padding-left:0; border-top:1px solid var(--line); padding-top:24px;}
  .process-item:nth-child(1),.process-item:nth-child(2){border-top:none;}
  .quote-block{grid-template-columns:1fr; padding:40px;}
  .testimonial-grid{grid-template-columns:1fr 1fr;}
  .founder-grid{grid-template-columns:1fr; gap:32px;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:32px;}
  .footer-brand{grid-column:1 / -1;}
  .contact-grid{grid-template-columns:1fr;}
  .stats-row{flex-wrap:wrap;}
  .stat{flex:1 1 50%; margin-bottom:16px;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .values-grid{grid-template-columns:1fr;}
  .benefits-grid{grid-template-columns:1fr 1fr;}
  .job-row{grid-template-columns:1fr; gap:8px; text-align:left;}
  .office-list{grid-template-columns:1fr;}

  /* header: show only the Luxvista icon on tablet/mobile */
  .brand-partner .brand-text{display:none;}
}

@media (max-width:680px){
  .hero-video{min-height:460px;}
  .hero-video-tag{flex-direction:column; gap:4px; bottom:16px; left:24px; right:24px;}
  .image-hero{min-height:460px;}
  .image-hero-tag{flex-direction:column; gap:4px; bottom:16px; left:24px; right:24px;}
  .image-hero-content{padding:80px 24px 96px;}
  .testimonial-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr; gap:28px; padding:40px 0 28px;}
  .footer-banking{flex-direction:column; align-items:center; gap:12px;}
  .listings{grid-template-columns:1fr;}
  .card-visual{height:220px;}
  .process-list{grid-template-columns:1fr;}
  .process-item{border-top:1px solid var(--line) !important; padding-top:24px;}
  .team-grid{grid-template-columns:1fr;}
  .benefits-grid{grid-template-columns:1fr;}
  .signature{display:none;}
  .nav-right{gap:14px;}
  .brand-text .l1{font-size:15px;}
  .brand-text .l2{font-size:9px;}
  /* Mobile header height (was nav 14px / logo 34px / divider 26px) */
  nav{padding:14px 0;}
  .brand-mark-img{height:40px;}
  .brand-divider{height:30px;}
  .nav-overlay-top{padding:20px 24px;}
  .fab-container{right:16px; bottom:16px;}
  .fab-item-label{display:none;}
}
.families-card{
  background:var(--ink); color:var(--white); border-radius:4px; padding:64px;
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
}
.families-card .eyebrow{color:rgba(251,250,246,0.7);}
.families-number{
  font-family:'Fraunces', serif; font-weight:500; line-height:1;
  font-size:clamp(72px, 11vw, 132px); color:var(--copper); margin:14px 0 10px;
  letter-spacing:-0.02em;
}
.families-plus{margin-left:2px;}
.families-card h2{color:var(--white); font-size:clamp(24px,2.8vw,32px); margin-bottom:14px; max-width:420px;}
.families-card p{color:rgba(251,250,246,0.82); font-size:15px; max-width:440px; margin-bottom:24px;}

.families-points{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px;}
.families-point{
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.04em; text-transform:uppercase;
  border:1px solid rgba(251,250,246,0.28); color:rgba(251,250,246,0.9);
  padding:7px 12px; border-radius:2px;
}

.families-visual{
  background:rgba(251,250,246,0.05); border:1px solid rgba(251,250,246,0.14);
  border-radius:3px; padding:24px 24px 18px;
}
.families-dots{
  display:grid; grid-template-columns:repeat(20, 1fr); gap:7px;
}
.families-dot{
  aspect-ratio:1/1; border-radius:50%;
  background:rgba(251,250,246,0.14);
  transition:background .35s ease, transform .35s ease;
  transform:scale(0.7);
}
.families-visual.lit .families-dot{background:var(--copper); transform:scale(1);}
.families-caption{
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:18px;
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.06em;
  color:rgba(251,250,246,0.6);
}

@media (max-width:900px){
  .families-card{grid-template-columns:1fr; padding:40px; gap:36px;}
}
@media (max-width:680px){
  .families-card{padding:28px 22px;}
  .families-dots{grid-template-columns:repeat(15, 1fr); gap:6px;}
}
@media (prefers-reduced-motion: reduce){
  .families-dot{transition:none; transform:scale(1);}
}

/* COMING SOON */
.soon-card{
  background:var(--ink); color:var(--white); border-radius:4px; padding:64px;
  display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center;
  position:relative; overflow:hidden;
}
.soon-card .eyebrow{color:rgba(251,250,246,0.7); display:block;}

.soon-badge{
  display:inline-flex; align-items:center; gap:10px; margin-bottom:22px;
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--white); background:rgba(185,140,73,0.22); border:1px solid var(--copper);
  padding:7px 12px; border-radius:2px;
}
.soon-pulse{
  width:8px; height:8px; border-radius:50%; background:var(--copper); display:inline-block;
  animation:soonPulse 1.8s ease-out infinite;
}
@keyframes soonPulse{
  0%{box-shadow:0 0 0 0 rgba(185,140,73,0.6);}
  70%{box-shadow:0 0 0 10px rgba(185,140,73,0);}
  100%{box-shadow:0 0 0 0 rgba(185,140,73,0);}
}

.soon-location{
  font-family:'Fraunces', serif; font-weight:500; color:var(--white);
  font-size:clamp(52px, 8vw, 96px); line-height:1; margin:14px 0 6px; letter-spacing:-0.02em;
}
.soon-phase{
  font-family:'Fraunces', serif; font-style:italic; font-weight:500;
  font-size:clamp(24px, 3vw, 34px); color:var(--copper); margin-bottom:22px;
}
.soon-main p{color:rgba(251,250,246,0.82); font-size:15px; max-width:440px; margin-bottom:28px;}
.soon-actions{display:flex; gap:20px; align-items:center; flex-wrap:wrap;}

.soon-side{
  background:rgba(251,250,246,0.05); border:1px solid rgba(251,250,246,0.14);
  border-radius:3px; padding:24px;
}
.soon-blueprint{width:100%; height:auto; display:block; margin-bottom:18px;}
.soon-row{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  font-family:'JetBrains Mono', monospace; font-size:12px; color:rgba(251,250,246,0.7);
  border-top:1px dashed rgba(251,250,246,0.2); padding:12px 0;
}
.soon-redact{
  display:inline-block; width:90px; height:10px; border-radius:2px;
  background:rgba(251,250,246,0.22);
}
.soon-caption{
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:10px;
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.06em;
  color:rgba(251,250,246,0.55);
}

@media (max-width:900px){
  .soon-card{grid-template-columns:1fr; padding:40px; gap:36px;}
}
@media (max-width:680px){
  .soon-card{padding:28px 22px;}
}
@media (prefers-reduced-motion: reduce){
  .soon-pulse{animation:none;}
}

/* ============ INVESTORS PAGE ============ */

/* Highlights strip under hero */
.inv-strip{background:var(--white); border-bottom:1px solid var(--line);}
.inv-strip-row{display:grid; grid-template-columns:repeat(4,1fr);}
.inv-strip-item{
  padding:30px 24px; border-left:1px solid var(--line);
  display:flex; flex-direction:column; gap:6px;
}
.inv-strip-item:first-child{border-left:none; padding-left:0;}
.inv-strip-num{font-family:'Fraunces', serif; font-weight:500; font-size:clamp(26px,3vw,36px); color:var(--copper); line-height:1.1;}
.inv-strip-label{font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft);}

/* Why real estate cards */
.inv-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.inv-card{
  background:var(--white); border:1px solid var(--line); border-left:3px solid var(--copper);
  border-radius:3px; padding:32px 30px;
}
.inv-card h3{font-size:21px; margin-bottom:10px;}
.inv-card p{font-size:15px; color:var(--ink-soft); line-height:1.65; max-width:480px;}

/* NRI card — reuses .families-card; right-hand fact list */
.nri-side{
  background:rgba(251,250,246,0.05); border:1px solid rgba(251,250,246,0.14);
  border-radius:3px; padding:12px 24px;
}
.nri-row{
  display:flex; justify-content:space-between; align-items:baseline; gap:20px;
  padding:16px 0; border-top:1px dashed rgba(251,250,246,0.2);
  font-size:14px; color:rgba(251,250,246,0.92); text-align:right;
}
.nri-row:first-child{border-top:none;}
.nri-row span:first-child{
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.06em;
  text-transform:uppercase; color:rgba(251,250,246,0.6); text-align:left; flex-shrink:0;
}

/* The four I's */
.i-flow{
  display:grid; grid-template-columns:repeat(4,1fr);
  background:var(--white); border:1px solid var(--line); border-radius:4px; overflow:hidden;
}
.i-step{
  position:relative; padding:36px 28px 34px; border-left:1px solid var(--line);
  transition:background .25s ease;
}
.i-step:first-child{border-left:none;}
.i-step::after{
  content:"+"; position:absolute; top:22px; right:20px;
  font-family:'JetBrains Mono', monospace; font-size:18px; color:var(--ink-soft);
}
.i-step:last-child::after{content:"="; }
.i-big{
  display:block; font-family:'Fraunces', serif; font-style:italic; font-weight:500;
  font-size:96px; line-height:.9; color:var(--copper); margin-bottom:22px;
}
.i-step h3{font-size:22px; margin-bottom:10px;}
.i-step p{font-size:14px; color:var(--ink-soft); line-height:1.65;}
.i-step:hover{background:var(--ink);}
.i-step:hover h3{color:var(--white);}
.i-step:hover p{color:rgba(251,250,246,0.82);}
.i-step:hover::after{color:rgba(251,250,246,0.6);}

@media (max-width:900px){
  .inv-strip-row{grid-template-columns:1fr 1fr;}
  .inv-strip-item:nth-child(3){border-left:none; padding-left:0;}
  .inv-strip-item:nth-child(n+3){border-top:1px solid var(--line);}
  .inv-grid{grid-template-columns:1fr;}
  .i-flow{grid-template-columns:1fr 1fr;}
  .i-step:nth-child(3){border-left:none;}
  .i-step:nth-child(n+3){border-top:1px solid var(--line);}
  .i-step:nth-child(2)::after{content:"+";}
}
@media (max-width:680px){
  .inv-strip-item{padding:22px 16px;}
  .i-flow{grid-template-columns:1fr;}
  .i-step{border-left:none; border-top:1px solid var(--line);}
  .i-step:first-child{border-top:none;}
  .i-big{font-size:72px; margin-bottom:14px;}
}
@media (prefers-reduced-motion: reduce){
  .i-step{transition:none;}
}