/* ============ TOKENS ============ */
:root{
  --gold:#C8A44D;
  --gold-dark:#A57C1B;
  --charcoal:#1B1B1B;
  --ash:#2A2A2A;
  --white:#FFFFFF;
  --cream:#F8F7F4;
  --gold-10: rgba(200,164,77,.10);
  --gold-25: rgba(200,164,77,.25);
  --gold-45: rgba(200,164,77,.45);
  --line: rgba(200,164,77,.28);
  --ease: cubic-bezier(.22,.68,.14,1);
  --maxw: 1280px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Lato', sans-serif;
  background:var(--cream);
  color:var(--charcoal);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important;}
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 56px;}
@media (max-width:720px){.wrap{padding:0 26px;}}

.eyebrow{
  display:inline-flex; align-items:center; gap:12px;
  font-size:12.5px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold-dark); font-weight:800; margin-bottom:18px;
}
.eyebrow::before{content:''; width:28px; height:2px; background:var(--gold-dark); border-radius:2px;}

h1,h2,h3,h4{font-family:'Lato',sans-serif; font-weight:800; letter-spacing:-.01em; color:var(--charcoal);}
.h-display{font-size:clamp(38px,6vw,72px); font-weight:900; line-height:1.05; letter-spacing:-.02em;}
.h-section{font-size:clamp(28px,3.6vw,46px); font-weight:900; line-height:1.12;}
.h-sub{font-size:clamp(20px,2.2vw,26px); font-weight:700;}
.lede{font-size:17px; font-weight:400; color:#4a4a4a; max-width:640px;}
.gold-word{color:var(--gold-dark); font-weight:900; font-style:normal;}

.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:17px 32px; font-size:14.5px; letter-spacing:0; text-transform:none; font-weight:800;
  border-radius:50px; transition:all .35s var(--ease); border:1px solid transparent; white-space:nowrap;
}
.btn-gold{background:var(--gold-dark); color:#fff;}
.btn-gold:hover{transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(165,124,27,.55); background:#8f6a17;}
.btn-outline{border-color:rgba(255,255,255,.55); color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,.12); border-color:#fff;}
.btn-outline-dark{border-color:rgba(27,27,27,.28); color:var(--charcoal);}
.btn-outline-dark:hover{background:var(--charcoal); color:var(--white); border-color:var(--charcoal);}
.btn-ghost{color:var(--gold-dark); letter-spacing:0; font-size:13.5px; font-weight:800; text-transform:none; display:inline-flex; align-items:center; gap:8px;}
.btn-ghost .ar{transition:transform .4s var(--ease);}
.btn-ghost:hover .ar{transform:translateX(6px);}

section{position:relative;}
.pad{padding:120px 0;}
@media (max-width:720px){.pad{padding:76px 0;}}

/* ============ TOPBAR ============ */
.topbar{background:#101010; color:#c9c6bd; font-size:12px; padding:10px 0; border-bottom:1px solid rgba(200,164,77,.16);}
.topbar-inner{display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap;}
.topbar-left{display:flex; align-items:center; gap:8px; font-weight:600; letter-spacing:.02em; color:#e9e6dd;}
.topbar-left .rc-badge{color:var(--gold); font-weight:800;}
.topbar-right{display:flex; gap:20px; flex-wrap:wrap;}
.topbar-right a{display:inline-flex; align-items:center; gap:7px; color:#c9c6bd; font-weight:600; transition:color .3s;}
.topbar-right a:hover{color:var(--gold);}
@media (max-width:860px){.topbar-left span.long{display:none;}}
@media (max-width:640px){.topbar{display:none;}}

/* ============ NAV ============ */
header{
  position:sticky; top:0; z-index:1000; background:var(--white);
  padding:16px 0; border-bottom:1px solid #eee6d8; box-shadow:0 4px 24px -20px rgba(0,0,0,.15);
}
nav{display:flex; align-items:center; justify-content:space-between;}
.logo{display:flex; align-items:center; gap:14px; font-size:19px; letter-spacing:.02em; color:var(--charcoal); font-weight:800;}
.logo img.logo-img{height:48px; width:auto; display:block;}
.logo small{display:block; font-size:9.5px; letter-spacing:.24em; color:#8a8a8a; font-weight:700; margin-top:4px;}
.nav-links{display:flex; align-items:center; gap:30px; list-style:none;}
.nav-links a{font-size:15.5px; color:var(--charcoal); font-weight:700; position:relative; padding-bottom:4px; display:flex; align-items:center; gap:5px;}
.nav-links a:hover{color:var(--gold-dark);}
.nav-item{position:relative;}
.nav-item .chev{font-size:10px; transition:transform .3s;}
.nav-item:hover .chev{transform:rotate(180deg);}
.dropdown{position:absolute; top:100%; left:0; margin-top:14px; background:#fff; border:1px solid #eee6d8; border-radius:10px; box-shadow:0 24px 48px -20px rgba(27,27,27,.25); padding:10px; min-width:240px; opacity:0; visibility:hidden; transform:translateY(8px); transition:all .3s var(--ease);}
.nav-item:hover .dropdown{opacity:1; visibility:visible; transform:translateY(0);}
.dropdown a{display:block; padding:11px 14px; font-size:14px; font-weight:600; color:var(--charcoal); border-radius:6px; text-transform:none; letter-spacing:0;}
.dropdown a:hover{background:var(--cream); color:var(--gold-dark);}
.nav-cta{display:flex; align-items:center; gap:14px;}
.nav-cta .btn{padding:13px 22px; font-size:13.5px;}
.nav-call{display:flex; align-items:center; gap:8px; color:var(--charcoal); font-size:13px; font-weight:700;}
.nav-call .ic{width:34px; height:34px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold-dark); font-size:14px; flex-shrink:0;}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0;}
.burger span{width:24px; height:1px; background:var(--charcoal);}
@media (max-width:980px){
  .nav-links{display:none;}
  .nav-cta .btn-outline, .nav-call span:not(.ic){display:none;}
  .burger{display:flex;}
}

/* Mobile drawer */
.drawer{position:fixed; inset:0; background:var(--charcoal); z-index:1200; display:flex; flex-direction:column;
  padding:100px 36px 40px; transform:translateX(100%); transition:transform .5s var(--ease); }
.drawer.open{transform:translateX(0);}
.drawer a{font-size:22px; color:#fff; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.08); font-weight:400;}
.drawer-close{position:absolute; top:30px; right:30px; background:none; border:0; color:#fff; font-size:28px;}

/* ============ HERO ============ */
.hero{
  min-height:92svh; display:flex; align-items:flex-end;
  background:
    linear-gradient(180deg, rgba(15,15,15,.6) 0%, rgba(15,15,15,.68) 40%, rgba(10,10,10,.96) 100%),
    url('https://images.unsplash.com/photo-1613977257363-707ba9348227?q=80&w=2400&auto=format&fit=crop') center/cover;
  color:#fff; padding-bottom:0;
}
.hero-inner{width:100%; padding-top:70px; padding-bottom:64px;}
.trust-strip{background:#101010; border-top:1px solid rgba(200,164,77,.14); border-bottom:1px solid rgba(200,164,77,.14); padding:16px 0;}
.trust-strip .wrap{display:flex; flex-wrap:wrap; gap:24px 40px; justify-content:center;}
.trust-strip .ts-item{display:flex; align-items:center; gap:9px; color:#d9d6cc; font-size:12.5px; letter-spacing:.04em; font-weight:600;}
.trust-strip .ts-item .ck{color:var(--gold); font-weight:900;}
.hero-tag{display:flex; align-items:center; gap:14px; margin-bottom:28px; opacity:.92;}
.hero-tag img{width:52px; height:52px; border-radius:50%; object-fit:cover; border:1px solid var(--gold);}
.hero-tag .t1{font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold);}
.hero-tag .t2{font-size:14px; font-weight:400; color:#e9e6dd;}
.hero h1{color:#fff; max-width:1000px;}
.hero h1 em{font-style:normal; color:var(--gold); font-weight:900;}
.hero .lede{color:#d9d6cc; margin-top:26px; max-width:680px; font-size:18px;}
@media (max-width:640px){.hero .lede{font-size:15px; line-height:1.6;}}
.hero-actions{display:flex; flex-wrap:wrap; gap:16px; margin-top:44px;}
.hero-actions .btn-text{display:inline-flex; align-items:center; gap:10px; color:#f1efe9; font-size:13px; letter-spacing:.1em; text-transform:uppercase; font-weight:700;}
.play-dot{width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.55); display:flex; align-items:center; justify-content:center;}
.play-dot::before{content:''; border-left:7px solid #fff; border-top:5px solid transparent; border-bottom:5px solid transparent; margin-left:2px;}

.stat-strip{background:var(--charcoal); border-top:1px solid rgba(200,164,77,.18);}
.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); }
.stat{padding:44px 30px; text-align:center; border-left:1px solid rgba(255,255,255,.08);}
.stat:first-child{border-left:none;}
.stat .num{font-size:clamp(30px,3.4vw,46px); font-weight:400; color:var(--gold); font-variant-numeric:tabular-nums;}
.stat .lbl{font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:#c9c6bd; margin-top:8px;}
@media (max-width:720px){.stat-grid{grid-template-columns:repeat(2,1fr);} .stat:nth-child(3){border-left:none;}}

/* ============ HOW IT WORKS ============ */
.howworks{background:var(--cream);}
.hw-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px; margin-top:50px;}
.hw-card{background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 20px 44px -30px rgba(27,27,27,.2); transition:transform .35s var(--ease), box-shadow .35s;}
.hw-card:hover{transform:translateY(-6px); box-shadow:0 28px 54px -28px rgba(27,27,27,.3);}
.hw-media{position:relative; height:180px; overflow:hidden;}
.hw-media img{width:100%; height:100%; object-fit:cover;}
.hw-num{position:absolute; top:14px; left:14px; width:34px; height:34px; border-radius:50%; background:var(--gold-dark); color:#fff; font-weight:900; font-size:15px; display:flex; align-items:center; justify-content:center; z-index:2; box-shadow:0 6px 14px -4px rgba(0,0,0,.35);}
.hw-card h4{font-size:18px; font-weight:800; margin:20px 22px 8px;}
.hw-card p{font-size:14px; color:#5c5c5c; font-weight:400; margin:0 22px 22px; line-height:1.55;}
@media (max-width:940px){.hw-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.hw-grid{grid-template-columns:1fr;}}


/* ============ ABOUT ============ */
.about{background:var(--white);}
.about-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:90px; align-items:start;}
.about-media{position:relative;}
.about-media img{width:100%; border-radius:4px; height:560px; object-fit:cover;}
.about-media .float-card{
  position:absolute; bottom:-34px; left:-34px; background:var(--charcoal); color:#fff;
  padding:30px 32px; max-width:270px; border-radius:2px; box-shadow:0 30px 60px -20px rgba(0,0,0,.35);
}
.about-media .float-card .num{color:var(--gold); font-size:34px; font-weight:400;}
.about-media .float-card p{font-size:13px; color:#c9c6bd; margin-top:6px; line-height:1.5;}
.about-copy p{color:#4a4a4a; font-size:16.5px; margin-bottom:20px; font-weight:400;}
.about-copy p strong{color:var(--charcoal); font-weight:600;}
.mv-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:44px;}
.mv-card{padding:30px; border:1px solid var(--line); border-radius:3px; background:var(--cream);}
.mv-card h4{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; margin-bottom:12px;}
.mv-card p{font-size:14.5px; color:#4a4a4a; font-weight:400;}
@media (max-width:940px){.about-grid{grid-template-columns:1fr; gap:60px;} .about-media .float-card{position:static; margin-top:-1px; max-width:none;} .mv-grid{grid-template-columns:1fr;}}

/* ============ FOUNDER ============ */
.founder{background:var(--charcoal); color:#fff; position:relative; overflow:hidden;}
.founder::before{content:''; position:absolute; inset:0; background:
  radial-gradient(600px 400px at 85% 10%, rgba(200,164,77,.12), transparent 60%);}
.founder-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:center; position:relative;}
.founder-media{position:relative; border-radius:3px; overflow:hidden;
  background:
    radial-gradient(480px 480px at 50% 30%, rgba(200,164,77,.16), transparent 65%),
    linear-gradient(180deg, #232323, #171717);
}
.founder-media img{width:100%; height:620px; object-fit:contain; object-position:bottom center; display:block; position:relative; z-index:1;}
.founder-media .ring{position:absolute; inset:22px; border:1px solid rgba(200,164,77,.4); border-radius:3px; pointer-events:none; z-index:2;}
.founder h2{color:#fff;}
.founder .role{color:var(--gold); font-size:13px; letter-spacing:.18em; text-transform:uppercase; margin:14px 0 26px; font-weight:700;}
.founder p{color:#c9c6bd; font-size:16px; font-weight:400; margin-bottom:18px; max-width:560px;}
.founder-badges{display:flex; flex-wrap:wrap; gap:14px; margin-top:30px;}
.badge{border:1px solid rgba(200,164,77,.35); padding:10px 18px; border-radius:20px; font-size:12px; letter-spacing:.08em; color:#e9e6dd;}
@media (max-width:940px){.founder-grid{grid-template-columns:1fr; gap:44px;} .founder-media img{height:440px;}}

.timeline{margin-top:64px;}
.tl-row{display:flex; gap:30px; padding:26px 0; border-top:1px solid rgba(200,164,77,.2);}
.tl-row:last-child{border-bottom:1px solid rgba(200,164,77,.2);}
.tl-year{width:110px; flex-shrink:0; color:var(--gold); font-size:20px; font-weight:400;}
.tl-body h5{font-size:16px; font-weight:600; margin-bottom:6px; color:#fff;}
.tl-body p{font-size:14.5px; color:#b8b5ab; font-weight:400; max-width:520px; margin:0;}
@media (max-width:600px){.tl-row{flex-direction:column; gap:8px;}}

/* ============ SERVICES ============ */
.services{background:var(--cream);}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:60px;}
.svc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.svc-card2{background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 20px 44px -30px rgba(27,27,27,.2); transition:transform .35s var(--ease), box-shadow .35s;}
.svc-card2:hover{transform:translateY(-6px); box-shadow:0 28px 54px -28px rgba(27,27,27,.3);}
.svc-media{position:relative; height:160px; overflow:hidden;}
.svc-media img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease);}
.svc-card2:hover .svc-media img{transform:scale(1.08);}
.svc-num{position:absolute; top:14px; left:14px; width:32px; height:32px; border-radius:50%; background:var(--gold-dark); color:#fff; font-weight:900; font-size:14px; display:flex; align-items:center; justify-content:center; z-index:2; box-shadow:0 6px 14px -4px rgba(0,0,0,.35);}
.svc-card2 h4{font-size:16.5px; font-weight:800; margin:18px 18px 6px;}
.svc-card2 p{font-size:13.5px; color:#5c5c5c; font-weight:400; margin:0 18px 20px; line-height:1.5;}
@media (max-width:1180px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr;}}

/* ============ PARTNERS ============ */
.partners{background:var(--cream); overflow:hidden;}
.partner-track-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; margin-top:50px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); cursor:grab;}
.partner-track-wrap:active{cursor:grabbing;}
.partner-track-wrap::-webkit-scrollbar{display:none;}
.partner-track{display:flex; gap:18px; width:max-content; padding:4px 4px 14px;}
.partner-item{width:200px; height:130px; flex:0 0 auto; background:#fff; border:1px solid var(--line); border-radius:10px; display:flex; align-items:center; justify-content:center; padding:20px; transition:box-shadow .35s, transform .35s;}
.partner-item:hover{box-shadow:0 20px 38px -22px rgba(27,27,27,.3); transform:translateY(-3px);}
.partner-item img{max-width:100%; max-height:100%; object-fit:contain; filter:grayscale(.55); opacity:.85; transition:all .4s;}
.partner-item:hover img{filter:grayscale(0); opacity:1;}
@media (max-width:640px){.partner-item{width:150px; height:100px; padding:14px;}}

/* ============ PROPERTIES ============ */
.properties{background:var(--cream);}
.prop-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px;}
.prop-card{background:#fff; border-radius:3px; overflow:hidden; box-shadow:0 20px 50px -30px rgba(27,27,27,.25); transition:transform .5s var(--ease), box-shadow .5s;}
.prop-card:hover{transform:translateY(-8px); box-shadow:0 30px 60px -25px rgba(27,27,27,.35);}
.prop-media{position:relative; height:250px; overflow:hidden;}
.prop-media img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease);}
.prop-card:hover .prop-media img{transform:scale(1.06);}
.prop-tag{position:absolute; top:16px; left:16px; background:var(--charcoal); color:var(--gold); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; padding:8px 14px; border-radius:2px; font-weight:700;}
.prop-body{padding:28px;}
.prop-loc{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; margin-bottom:8px;}
.prop-body h3{font-size:21px; font-weight:600; margin-bottom:14px;}
.prop-meta{display:flex; justify-content:space-between; font-size:13px; color:#6b6b6b; border-top:1px solid #eee; padding-top:16px; margin-top:6px;}
.prop-meta div span{display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:#9a9a9a; margin-bottom:4px;}
.prop-meta div b{color:var(--charcoal); font-weight:700; font-size:15px;}
.prop-body .btn-ghost{margin-top:20px;}
.prop-actions{display:flex; gap:10px; margin-top:18px;}
.prop-actions a{flex:1; display:flex; align-items:center; justify-content:center; gap:7px; padding:11px; border-radius:2px; font-size:12px; letter-spacing:.06em; font-weight:700; text-transform:uppercase; border:1px solid var(--line); color:var(--charcoal); transition:all .3s;}
.prop-actions a.wa{background:#25D366; border-color:#25D366; color:#fff;}
.prop-actions a.wa:hover{filter:brightness(1.08);}
.prop-actions a.call:hover{background:var(--charcoal); color:#fff; border-color:var(--charcoal);}
@media (max-width:980px){.prop-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.prop-grid{grid-template-columns:1fr;}}

/* ============ VIDEO GALLERY ============ */
.video-sec{background:var(--charcoal); color:#fff;}
.video-sec .eyebrow{color:var(--gold);}
.video-sec h2{color:#fff;}
.video-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:56px;}
.vcard{position:relative; border-radius:3px; overflow:hidden; cursor:pointer; aspect-ratio:4/3; display:block;}
.vcard img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease);}
.vcard::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72)); z-index:1;}
.vcard:hover img{transform:scale(1.08);}
.vplay{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:60px; height:60px; border-radius:50%; border:1px solid rgba(255,255,255,.7); display:flex; align-items:center; justify-content:center; z-index:2; transition:all .4s var(--ease); backdrop-filter:blur(4px);}
.vcard:hover .vplay{background:var(--gold); border-color:var(--gold); transform:translate(-50%,-50%) scale(1.1);}
.vplay::before{content:''; border-left:11px solid #fff; border-top:7px solid transparent; border-bottom:7px solid transparent; margin-left:3px;}
.vcard:hover .vplay::before{border-left-color:var(--charcoal);}
.vcaption{position:absolute; bottom:20px; left:20px; right:20px; z-index:2;}
.vcaption .vt{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);}
.vcaption h4{color:#fff; font-size:19px; font-weight:600; margin-top:6px;}
@media (max-width:940px){.video-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.video-grid{grid-template-columns:1fr;}}


.modal{position:fixed; inset:0; background:rgba(10,10,10,.94); z-index:2000; display:none; align-items:center; justify-content:center; padding:30px;}
.modal.open{display:flex;}
.modal-box{width:100%; max-width:960px; aspect-ratio:16/9; position:relative; background:#000;}
.modal-box iframe{width:100%; height:100%; border:0;}
.modal-close{position:absolute; top:-46px; right:0; background:none; border:0; color:#fff; font-size:16px; letter-spacing:.14em; text-transform:uppercase; display:flex; align-items:center; gap:10px;}

/* ============ GALLERY ============ */
.gallery{background:var(--white);}
.gal-filters{display:flex; flex-wrap:wrap; gap:10px; margin:44px 0 40px;}
.gal-filters button{padding:10px 20px; border:1px solid var(--line); background:transparent; font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:#5c5c5c; border-radius:20px; transition:all .35s;}
.gal-filters button.active, .gal-filters button:hover{background:var(--charcoal); color:var(--gold); border-color:var(--charcoal);}
.masonry{columns:4 240px; column-gap:16px;}
.masonry .gitem{break-inside:avoid; margin-bottom:16px; position:relative; overflow:hidden; border-radius:3px;}
.masonry .gitem img{width:100%; display:block; transition:transform .7s var(--ease);}
.masonry .gitem:hover img{transform:scale(1.06);}
.gitem .gtag{position:absolute; bottom:12px; left:12px; background:rgba(27,27,27,.7); backdrop-filter:blur(6px); color:#fff; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; padding:6px 12px; border-radius:20px;}
@media (max-width:640px){.masonry{columns:2 160px;}}

/* ============ TRUST ============ */
.trust{background:var(--cream);}
.trust-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line); margin-top:56px;}
.trust-card{background:var(--white); padding:44px 36px;}
.trust-card .tn{font-size:13px; color:var(--gold-dark); font-weight:800; letter-spacing:.05em;}
.trust-card h4{font-size:20px; font-weight:600; margin:16px 0 10px;}
.trust-card p{font-size:14.5px; color:#5c5c5c; font-weight:400;}
@media (max-width:900px){.trust-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.trust-grid{grid-template-columns:1fr;}}

/* ============ AWARDS ============ */
.awards{background:var(--white);}
.aw-line{position:relative; margin-top:60px; padding-left:34px; border-left:1px solid var(--line);}
.aw-item{position:relative; padding-bottom:46px; display:flex; gap:26px; align-items:flex-start;}
.aw-item:last-child{padding-bottom:0;}
.aw-item::before{content:''; position:absolute; left:-40px; top:4px; width:13px; height:13px; border-radius:50%; background:var(--gold); border:3px solid var(--cream); box-shadow:0 0 0 1px var(--gold-dark);}
.aw-item .ay{color:var(--gold-dark); font-weight:800; font-size:14px; letter-spacing:.06em;}
.aw-item h4{font-size:19px; font-weight:600; margin:8px 0 6px;}
.aw-item p{font-size:14.5px; color:#5c5c5c; font-weight:400; max-width:560px;}
.aw-thumb{position:relative; width:160px; height:120px; flex-shrink:0; border-radius:6px; overflow:hidden; order:2;}
.aw-thumb img{width:100%; height:100%; object-fit:cover;}
.aw-thumb a.aw-play{position:absolute; inset:0; background:rgba(15,15,15,.35); display:flex; align-items:center; justify-content:center; color:#fff; font-size:11px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; text-align:center; opacity:0; transition:opacity .3s;}
.aw-thumb:hover a.aw-play{opacity:1;}
@media (max-width:640px){.aw-item{flex-direction:column;} .aw-thumb{order:0; width:100%; height:200px;}}

/* ============ CERTS ============ */
.certs{background:var(--cream);}
.cert-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:56px;}
.cert-card{background:var(--white); border:1px solid var(--line); border-radius:8px; padding:36px 26px; text-align:center; transition:transform .4s var(--ease), box-shadow .4s;}
.cert-card:hover{transform:translateY(-6px); box-shadow:0 24px 44px -28px rgba(27,27,27,.3);}
.cert-icon{width:52px; height:52px; margin:0 auto 20px; border:1px solid var(--gold-dark); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold-dark); font-weight:800; font-size:15px;}
.cert-card h4{font-size:15.5px; font-weight:700; margin-bottom:8px;}
.cert-card p{font-size:12.5px; color:#8a8a8a;}
.cert-card.cert-photo{padding:0 0 24px; overflow:hidden;}
.cert-card.cert-photo img{width:100%; height:220px; object-fit:cover; object-position:top center; margin-bottom:18px;}
.cert-card.cert-photo h4{padding:0 18px; margin-bottom:6px;}
.cert-card.cert-photo p{padding:0 18px;}
@media (max-width:900px){.cert-grid{grid-template-columns:1fr 1fr;}}

/* ============ TESTIMONIALS ============ */
.testi{background:var(--charcoal); color:#fff;}
.testi .eyebrow{color:var(--gold);}
.testi .h-section{color:#fff;}
.testi-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:50px;}
.t-card{background:rgba(255,255,255,.06); border:1px solid rgba(200,164,77,.18); border-radius:14px; padding:28px 24px;}
.quote{font-size:15px; font-weight:400; color:#e2dfd6; line-height:1.65;}
.t-who{margin-top:24px; display:flex; align-items:center; gap:12px;}
.t-avatar{width:42px; height:42px; border-radius:50%; background:var(--gold-dark); color:#fff; font-weight:800; font-size:16px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.t-who .nm{font-weight:800; font-size:14.5px; color:#fff;}
.t-who .rl{font-size:12px; color:#a8a59c;}
@media (max-width:980px){.testi-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.testi-grid{grid-template-columns:1fr;}}

/* ============ FAQ ============ */
.faq{background:var(--white);}
.faq-list{max-width:840px; margin:56px auto 0;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:26px 4px; background:none; border:0; text-align:left; font-size:17px; font-weight:600; color:var(--charcoal);}
.faq-plus{width:26px; height:26px; border:1px solid var(--gold-dark); border-radius:50%; flex-shrink:0; position:relative;}
.faq-plus::before, .faq-plus::after{content:''; position:absolute; background:var(--gold-dark); top:50%; left:50%; transform:translate(-50%,-50%);}
.faq-plus::before{width:10px; height:1px;}
.faq-plus::after{width:1px; height:10px; transition:transform .35s var(--ease);}
.faq-item.open .faq-plus::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .5s var(--ease);}
.faq-a p{padding:0 4px 26px; color:#5c5c5c; font-size:15px; font-weight:400; max-width:680px;}

/* ============ BLOG ============ */
.blog{background:var(--cream);}
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px;}
.blog-card{background:#fff; border-radius:3px; overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s; cursor:pointer;}
.blog-card:hover{transform:translateY(-6px); box-shadow:0 26px 50px -30px rgba(27,27,27,.3);}
.blog-media{height:210px; overflow:hidden;}
.blog-media img{width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease);}
.blog-card:hover .blog-media img{transform:scale(1.08);}
.blog-body{padding:26px 26px 30px;}
.blog-cat{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dark); font-weight:800;}
.blog-body h3{font-size:18.5px; font-weight:600; margin:12px 0 12px; line-height:1.35;}
.blog-meta{font-size:12.5px; color:#9a9a9a; margin-top:16px; border-top:1px solid #eee; padding-top:14px;}
@media (max-width:980px){.blog-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr;}}

/* ============ NEWSLETTER ============ */
.newsletter-sec{background:var(--charcoal); padding:100px 0;}
.newsletter-grid{display:grid; grid-template-columns:1fr .85fr; gap:70px; align-items:center;}
.nl-points{list-style:none; margin-top:26px; display:flex; flex-direction:column; gap:12px;}
.nl-points li{color:#d9d6cc; font-size:14.5px; font-weight:600;}
.nl-form{background:var(--cream); padding:38px; border-radius:3px;}
@media (max-width:900px){.newsletter-grid{grid-template-columns:1fr; gap:44px;}}

/* ============ ARTICLE MODAL (blog reader) ============ */
.modal-box.article{width:100%; max-width:760px; aspect-ratio:auto; max-height:84vh; overflow-y:auto; background:var(--white); border-radius:3px; padding:0;}
.article-body{padding:0;}
.article-body .a-media{height:280px; overflow:hidden;}
.article-body .a-media img{width:100%; height:100%; object-fit:cover;}
.article-body .a-content{padding:40px 44px 50px;}
.article-body .a-cat{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-dark); font-weight:800;}
.article-body h2{font-size:30px; font-weight:600; margin:14px 0 10px; line-height:1.2;}
.article-body .a-meta{font-size:13px; color:#9a9a9a; margin-bottom:26px;}
.article-body p{font-size:15.5px; color:#3a3a3a; font-weight:400; margin-bottom:18px; line-height:1.75;}
@media (max-width:640px){.article-body .a-content{padding:30px 24px 40px;} .article-body h2{font-size:24px;}}

/* ============ FINAL CTA ============ */
.finalcta{
  background: linear-gradient(120deg, rgba(27,27,27,.88), rgba(27,27,27,.78)), url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?q=80&w=2200&auto=format&fit=crop') center/cover;
  color:#fff; text-align:center; padding:150px 0;
}
.finalcta .eyebrow{justify-content:center; color:var(--gold);}
.finalcta h2{color:#fff; max-width:780px; margin:0 auto;}
.finalcta p{color:#cfccc3; max-width:520px; margin:22px auto 0; font-weight:400;}
.finalcta .cta-actions{display:flex; justify-content:center; gap:18px; margin-top:46px; flex-wrap:wrap;}

/* ============ CONTACT ============ */
.contact{background:var(--white);}
.contact-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:70px;}
.c-info-item{display:flex; gap:18px; padding:24px 0; border-bottom:1px solid var(--line);}
.c-info-item:first-child{padding-top:0;}
.c-ic{width:44px; height:44px; border-radius:50%; border:1px solid var(--gold-dark); color:var(--gold-dark); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:16px;}
.c-info-item h5{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-dark); font-weight:800; margin-bottom:6px;}
.c-info-item p{font-size:15.5px; color:#3a3a3a; font-weight:400;}
.map-box{margin-top:30px; border-radius:3px; overflow:hidden; border:1px solid var(--line); height:230px;}
.map-box iframe{width:100%; height:100%; border:0; filter:grayscale(.2);}
.form-box{background:var(--cream); padding:44px; border-radius:3px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.field{margin-bottom:20px;}
.field label{display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#6b6b6b; font-weight:700; margin-bottom:9px;}
.field input, .field select, .field textarea{
  width:100%; padding:14px 16px; border:1px solid #ddd8cb; background:#fff; font-family:inherit; font-size:14.5px; border-radius:2px; transition:border-color .3s;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold-dark);}
.field textarea{resize:vertical; min-height:110px;}
.hours{display:flex; justify-content:space-between; font-size:14px; padding:10px 0; border-bottom:1px dashed #ddd8cb;}
.hours span:last-child{color:var(--gold-dark); font-weight:700;}
@media (max-width:940px){.contact-grid{grid-template-columns:1fr; gap:50px;} .form-box{padding:30px;}}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}}

/* ============ FOOTER ============ */
footer{background:#141414; color:#c9c6bd; padding-top:90px;}
.f-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.3fr; gap:60px; padding-bottom:70px; border-bottom:1px solid rgba(200,164,77,.14);}
.f-brand .logo{color:#fff; margin-bottom:18px;}
.f-brand p{font-size:14px; color:#918e85; max-width:280px; margin-bottom:22px; font-weight:400;}
.f-social{display:flex; gap:12px;}
.f-social a{width:38px; height:38px; border:1px solid rgba(200,164,77,.35); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--gold); transition:all .35s;}
.f-social a:hover{background:var(--gold); color:var(--charcoal);}
footer h5{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#fff; font-weight:700; margin-bottom:22px;}
footer ul{list-style:none;}
footer ul li{margin-bottom:13px;}
footer ul a{font-size:14px; color:#a8a59c; font-weight:400; transition:color .3s;}
footer ul a:hover{color:var(--gold);}
.f-news p{font-size:14px; color:#918e85; margin-bottom:18px; font-weight:400;}
.news-form{display:flex; border-bottom:1px solid rgba(200,164,77,.4); padding-bottom:12px;}
.news-form input{flex:1; background:none; border:0; color:#fff; font-size:14px; font-family:inherit;}
.news-form input::placeholder{color:#7a7870;}
.news-form button{background:none; border:0; color:var(--gold); font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:700;}
.f-bottom{display:flex; justify-content:space-between; padding:30px 0; font-size:12.5px; color:#7a7870; flex-wrap:wrap; gap:12px;}
.f-bottom .legal{display:flex; gap:24px;}
.f-bottom .legal a:hover{color:var(--gold);}
@media (max-width:940px){.f-top{grid-template-columns:1fr 1fr; gap:40px;}}
@media (max-width:560px){.f-top{grid-template-columns:1fr;}}

/* ============ WHATSAPP FAB ============ */
.wa-fab{
  position:fixed; bottom:26px; right:26px; z-index:900; width:60px; height:60px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -8px rgba(0,0,0,.4);
  color:#fff; font-size:26px; transition:transform .4s var(--ease);
}
.wa-fab:hover{transform:scale(1.08);}
.wa-fab::after{content:''; position:absolute; inset:0; border-radius:50%; border:2px solid #25D366; animation:pulse 2.2s ease-out infinite;}
@keyframes pulse{0%{transform:scale(1); opacity:.7;} 100%{transform:scale(1.7); opacity:0;}}

/* ============ REVEAL ============ */
.reveal{opacity:0; transform:translateY(28px); transition:opacity 1s var(--ease), transform 1s var(--ease);}
.reveal.in{opacity:1; transform:translateY(0);}

/* responsive grid collapses */
@media (max-width:900px){
  .about-grid, .founder-grid, .contact-grid{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .section-head{flex-direction:column; align-items:flex-start; gap:20px;}
}

/* ============ POPUPS ============ */
.popup-overlay{position:fixed; inset:0; background:rgba(15,15,15,.72); z-index:3000; display:none; align-items:center; justify-content:center; padding:24px; backdrop-filter:blur(3px);}
.popup-overlay.open{display:flex;}
.popup-box{position:relative; background:#fff; border-radius:14px; max-width:420px; width:100%; padding:38px 32px 30px; box-shadow:0 40px 80px -30px rgba(0,0,0,.5); animation:popup-in .4s var(--ease);}
@keyframes popup-in{from{opacity:0; transform:translateY(14px) scale(.98);} to{opacity:1; transform:translateY(0) scale(1);}}
.popup-close{position:absolute; top:16px; right:16px; background:none; border:0; font-size:16px; color:#9a9a9a; width:30px; height:30px; border-radius:50%; transition:all .3s;}
.popup-close:hover{background:var(--cream); color:var(--charcoal);}
.popup-eyebrow{font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-dark); font-weight:800; margin-bottom:10px;}
.popup-box h3{font-size:24px; font-weight:900; margin-bottom:10px; line-height:1.2;}
.popup-box p{font-size:14px; color:#5c5c5c; margin-bottom:22px; line-height:1.5;}
.popup-box form{display:flex; flex-direction:column; gap:12px;}
.popup-box input, .popup-box select{padding:13px 15px; border:1px solid #ddd8cb; border-radius:8px; font-family:inherit; font-size:14px; background:var(--cream);}
.popup-box input:focus, .popup-box select:focus{border-color:var(--gold-dark); outline:none;}
.popup-skip{display:block; text-align:center; margin-top:16px; font-size:12.5px; color:#9a9a9a; font-weight:600;}
.popup-skip:hover{color:var(--gold-dark);}
@media (max-width:480px){.popup-box{padding:30px 22px 24px;}}

/* ============ PROPERTY DETAIL PAGE ============ */
.pd-hero{position:relative; height:52vh; min-height:380px; overflow:hidden;}
.pd-hero img{width:100%; height:100%; object-fit:cover;}
.pd-hero::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,15,15,.15), rgba(15,15,15,.75));}
.pd-hero-content{position:absolute; left:0; right:0; bottom:0; padding:40px 0;}
.pd-hero-content .prop-tag{margin-bottom:14px; display:inline-block;}
.pd-hero-content h1{color:#fff; font-size:clamp(28px,4vw,46px);}
.pd-hero-content .pd-loc{color:var(--gold); font-size:14px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; margin-top:10px;}
.pd-layout{display:grid; grid-template-columns:1.6fr 1fr; gap:50px; align-items:start;}
.pd-gallery{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:44px;}
.pd-gallery a{display:block; border-radius:8px; overflow:hidden; aspect-ratio:4/3; position:relative;}
.pd-gallery img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.pd-gallery a:hover img{transform:scale(1.06);}
.pd-gallery a:first-child{grid-column:1/3; aspect-ratio:16/9;}
.pd-desc h2{font-size:24px; font-weight:800; margin-bottom:16px;}
.pd-desc p{font-size:15.5px; color:#4a4a4a; margin-bottom:16px; line-height:1.75;}
.pd-amenities{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; margin:20px 0 30px;}
.pd-amenities li{font-size:14.5px; color:#3a3a3a; font-weight:600; display:flex; align-items:center; gap:8px;}
.pd-amenities li::before{content:'✓'; color:var(--gold-dark); font-weight:900;}
.pd-sidebar{position:sticky; top:100px; background:var(--cream); border:1px solid var(--line); border-radius:12px; padding:32px;}
.pd-sidebar .pd-price{font-size:30px; font-weight:900; color:var(--charcoal);}
.pd-sidebar .pd-price span{font-size:13px; font-weight:700; color:#8a8a8a; text-transform:uppercase; display:block; margin-bottom:4px;}
.pd-sidebar .pd-meta-row{display:flex; justify-content:space-between; padding:12px 0; border-top:1px solid var(--line); font-size:13.5px;}
.pd-sidebar .pd-meta-row span:first-child{color:#8a8a8a;}
.pd-sidebar .pd-meta-row b{color:var(--charcoal);}
.pd-sidebar .btn{width:100%; justify-content:center; margin-top:10px;}
@media (max-width:940px){.pd-layout{grid-template-columns:1fr;} .pd-sidebar{position:static;}}
@media (max-width:640px){.pd-gallery{grid-template-columns:1fr;} .pd-gallery a:first-child{grid-column:auto;} .pd-amenities{grid-template-columns:1fr;}}
