@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--navy:#07172c;--navy2:#0d2748;--gold:#c8a35d;--ivory:#f7f3ea;--white:#fff;--ink:#182333;--muted:#667085;--line:#e7e1d5;--shadow:0 24px 70px rgba(7,23,44,.14);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.65;overflow-x:hidden}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.78rem;font-weight:700;color:#a87f37}.section{padding:100px 0}.section.alt{background:var(--ivory)}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.1;margin:0 0 18px}h1{font-size:clamp(3.25rem,7vw,6.8rem);letter-spacing:-.045em}h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.035em}h3{font-size:1.55rem}.lead{font-size:1.13rem;color:var(--muted);max-width:680px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:2px;background:var(--gold);color:var(--navy);font-weight:700;cursor:pointer;transition:.3s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(200,163,93,.3)}.btn.outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.btn.dark{background:var(--navy);color:#fff}.btn.small{min-height:42px;padding:0 17px;font-size:.9rem}.grid{display:grid;gap:28px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:82px;color:#fff;transition:.35s;background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent)}.site-header.scrolled,.inner-page .site-header{background:rgba(7,23,44,.97);box-shadow:0 10px 30px rgba(0,0,0,.16)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:600}.brand span{color:var(--gold)}.nav-links{display:flex;align-items:center;gap:31px}.nav-links a{font-size:.92rem;font-weight:600;position:relative}.nav-links a:not(.btn):after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--gold);transition:.3s}.nav-links a:hover:after,.nav-links a.active:after{right:0}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}
.hero{height:min(900px,100svh);min-height:700px;position:relative;color:#fff;background:var(--navy)}.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none}.slide.active{opacity:1;pointer-events:auto}.slide img{height:100%}.slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,27,.86) 0%,rgba(3,13,27,.47) 52%,rgba(3,13,27,.18))}.hero-content{position:absolute;z-index:2;left:50%;top:50%;width:min(1180px,calc(100% - 40px));max-width:none;margin:0;transform:translate(-50%,-46%);text-align:left}.hero-content h1{max-width:900px}.hero-content p{font-size:1.15rem;max-width:610px;color:rgba(255,255,255,.83)}.hero-actions{display:flex;align-items:center;gap:14px;margin-top:30px}.slider-dots{position:absolute;z-index:4;right:5vw;bottom:55px;display:flex;gap:10px}.dot{width:38px;height:3px;border:0;background:rgba(255,255,255,.35);padding:0;cursor:pointer}.dot.active{background:var(--gold)}
.search-panel{position:relative;z-index:8;margin-top:-55px;background:#fff;box-shadow:var(--shadow);padding:24px;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:14px;align-items:end}.field label{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;padding:14px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-head h2{max-width:700px}.property-card{background:#fff;box-shadow:0 12px 40px rgba(7,23,44,.08);transition:.35s;overflow:hidden}.property-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.property-image{position:relative;height:270px;overflow:hidden}.property-image img{height:100%;transition:.65s}.property-card:hover img{transform:scale(1.05)}.property-badge{position:absolute;top:18px;left:18px;padding:7px 11px;background:var(--navy);color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.property-body{padding:24px}.property-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.92rem;border-top:1px solid var(--line);padding-top:17px}.price{font-weight:700;color:#9a722f;font-size:1.15rem}.card-actions{display:flex;gap:10px;margin-top:18px}.card-actions .btn{flex:1}.stats{background:var(--navy);color:#fff;padding:48px 0}.stats-row{display:grid;grid-template-columns:repeat(4,1fr)}.stat{text-align:center;border-right:1px solid rgba(255,255,255,.14)}.stat:last-child{border:0}.stat strong{display:block;font-family:'Playfair Display',serif;font-size:2.7rem;color:var(--gold)}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.split-image{height:600px;position:relative}.split-image img{height:100%}.split-image:after{content:'';position:absolute;inset:25px -25px -25px 25px;border:1px solid var(--gold);z-index:-1}.service{padding:31px;border:1px solid var(--line);transition:.3s}.service:hover{border-color:var(--gold);background:#fff;transform:translateY(-5px)}.service .icon{font-size:2rem;color:var(--gold);margin-bottom:20px}
.page-hero{height:520px;display:grid;align-items:end;padding-bottom:75px;color:#fff;background-size:cover;background-position:center;position:relative}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,23,44,.9),rgba(7,23,44,.3))}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:clamp(3rem,6vw,5.5rem)}.crumbs{color:rgba(255,255,255,.75)}.value-card{padding:35px;background:#fff;border-top:3px solid var(--gold);box-shadow:0 10px 35px rgba(7,23,44,.06)}.team-card{overflow:hidden;background:var(--navy);box-shadow:0 15px 38px rgba(7,23,44,.14)}.team-card img{height:390px;object-position:center 18%}.team-card div{padding:22px;background:var(--navy);color:#fff}.team-card p{margin:0;color:rgba(255,255,255,.7)}.timeline{border-left:1px solid var(--gold);margin-left:14px}.timeline-item{padding:0 0 38px 35px;position:relative}.timeline-item:before{content:'';width:13px;height:13px;background:var(--gold);border-radius:50%;position:absolute;left:-7px;top:7px}
.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:12px;margin-bottom:35px}.filters input,.filters select{padding:14px;border:1px solid var(--line);background:#fff}.no-results{display:none;padding:50px;text-align:center;background:var(--ivory);grid-column:1/-1}.pagination{display:flex;justify-content:center;gap:8px;margin-top:45px}.pagination a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line)}.pagination .active{background:var(--navy);color:#fff}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);gap:45px}.gallery-main{height:540px;position:relative;background:#ddd;overflow:hidden}.gallery-main img{height:100%;transition:opacity .3s}.gallery-nav{position:absolute;inset:50% 16px auto;display:flex;justify-content:space-between;transform:translateY(-50%)}.gallery-nav button{width:46px;height:46px;border:0;background:rgba(7,23,44,.86);color:#fff;font-size:1.2rem;cursor:pointer}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.thumbs button{padding:0;border:2px solid transparent;background:none;cursor:pointer;height:100px}.thumbs button.active{border-color:var(--gold)}.thumbs img{height:100%}.detail-side{position:sticky;top:110px;align-self:start;padding:32px;background:var(--ivory)}.specs{display:grid;grid-template-columns:repeat(4,1fr);margin:35px 0;border-block:1px solid var(--line)}.spec{padding:20px;text-align:center;border-right:1px solid var(--line)}.spec:last-child{border:0}.amenities{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;list-style:none;padding:0}.amenities li:before{content:'✓';color:#a87f37;font-weight:700;margin-right:10px}
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:55px}.contact-card{padding:32px;background:var(--navy);color:#fff;margin-bottom:18px}.contact-card p{color:rgba(255,255,255,.72)}.form-card{padding:40px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.success{display:none;padding:18px;background:#eef8f0;color:#216436;margin-bottom:18px}.map{min-height:360px;background:url('https://images.unsplash.com/photo-1577086664693-894d8405334a?auto=format&fit=crop&w=1600&q=80') center/cover;display:grid;place-items:center}.map span{background:#fff;padding:18px 24px;box-shadow:var(--shadow);font-weight:700}
.cta{background:linear-gradient(rgba(7,23,44,.85),rgba(7,23,44,.85)),url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=85') center/cover;color:#fff;text-align:center}.cta p{color:rgba(255,255,255,.75);margin:0 auto 28px}.site-footer{background:#04101f;color:#fff;padding:75px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .9fr 1.2fr;gap:50px}.footer-block h4{font-family:'Playfair Display',serif;font-size:1.2rem;margin:0 0 20px;color:var(--gold)}.footer-block p,.footer-block a{display:block;color:rgba(255,255,255,.67);margin:0 0 9px}.footer-block a:hover{color:#fff}.footer-bottom{margin-top:50px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;color:rgba(255,255,255,.52);font-size:.85rem}.footer-bottom a{color:var(--gold)}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:99;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.23)}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s ease}.reveal.in-view{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:900px){.menu-btn{display:block}.nav-links{position:fixed;inset:82px 0 auto;background:var(--navy);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 26px;transform:translateY(-130%);opacity:0;transition:.35s;z-index:-1}.nav-links.open{transform:none;opacity:1}.nav-links a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}.nav-links .btn{margin-top:12px}.search-panel,.filters{grid-template-columns:1fr 1fr}.search-panel .btn,.filters .btn{grid-column:1/-1}.grid-3{grid-template-columns:repeat(2,1fr)}.split,.contact-grid,.detail-layout{grid-template-columns:1fr}.split-image{height:480px}.stats-row{grid-template-columns:repeat(2,1fr);row-gap:30px}.stat:nth-child(2){border:0}.footer-grid{grid-template-columns:repeat(2,1fr)}.detail-side{position:static}.gallery-main{height:460px}}
@media(max-width:620px){.container{width:min(100% - 28px,1180px)}.section{padding:72px 0}.hero{min-height:720px}.hero-content{left:50%;top:46%;width:calc(100% - 28px);transform:translate(-50%,-50%)}.hero-content h1{font-size:clamp(3rem,14vw,4.5rem);max-width:100%}.hero-content p{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.slider-dots{left:15px;right:auto}.search-panel{grid-template-columns:1fr;margin-top:-35px}.section-head{align-items:start;flex-direction:column}.grid-2,.grid-3{grid-template-columns:1fr}.property-image{height:250px}.card-actions{flex-direction:column}.split{gap:40px}.split-image{height:390px}.split-image:after{display:none}.page-hero{height:440px}.filters{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr}.stat strong{font-size:2.15rem}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column;gap:8px}.gallery-main{height:340px}.thumbs button{height:65px}.specs{grid-template-columns:repeat(2,1fr)}.spec:nth-child(2){border-right:0}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.form-card{padding:25px}.amenities{grid-template-columns:1fr}.team-card img{height:440px}}
