*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:"Inter",sans-serif;
}

:root{

--primary:#1E3A8A;
--primary-hover:#16316F;

--secondary:var(--secondary);

--text:var(--secondary);

--text-light:var(--text-light);

--background:#FFFFFF;

--background-light:var(--background-light);

}

html{
scroll-behavior:smooth;
}

body{
background:#ffffff;
color:#0D1B4C;
overflow-x:hidden;
}

/* NAV */

header{
position:absolute;
width:100%;
z-index:10;

position:fixed;

width:100%;

z-index:1000;

background:
rgba(255,255,255,.92);

backdrop-filter:
blur(14px);

border-bottom:
1px solid #E5E7EB;


}

.navbar{

max-width:1400px;

margin:auto;

padding:

28px 60px;

display:flex;

justify-content:space-between;

align-items:center;

}

.logo{

display:flex;

align-items:center;

gap:18px;

text-decoration:none;

overflow:hidden;

color:var(--secondary);

}

.logo,
.logo:link,
.logo:visited{

color:var(--secondary);

text-decoration:none;

}

.logo:hover,
.logo:active,
.logo:focus{

color:var(--primary);

text-decoration:none;

outline:none;

}

.logo img{

height:72px;

flex-shrink:0;

transition:.4s;

}

.logo span{

color:inherit;

font-size:16px;

font-weight:700;

letter-spacing:1px;

white-space:nowrap;

max-width:0;

opacity:0;

transform:translateX(-25px);

overflow:hidden;

transition:
max-width .5s,
opacity .4s,
transform .4s;

}

.logo:hover span{

max-width:260px;

opacity:1;

transform:translateX(0);

}

.logo:hover img{

transform:scale(1.04);

}
.nav-links{

display:flex;

gap:50px;

list-style:none;

}

.nav-links a{

text-decoration:none;

color:#0D1B4C;

font-size:16px;

font-weight:500;

transition:.3s;

}

.nav-links a:hover{

color:var(--primary);

}

.btn-nav{

background:var(--primary);

color:white;

padding:

14px 28px;

border-radius:14px;

text-decoration:none;

font-weight:600;

transition:.3s;

}

.btn-nav:hover{

background:var(--primary-hover);

transform:translateY(-3px);

}

/* HERO */

.hero{

min-height:100vh;

display:grid;

grid-template-columns:1fr 1fr;

align-items:center;

padding:

140px 8% 60px;

position:relative;

}

.hero-content{

max-width:650px;

}

.tag{

display:inline-block;

background:

rgba(36,84,255,.08);

color:var(--primary);

padding:

12px 18px;

border-radius:999px;

font-size:14px;

font-weight:700;

margin-bottom:24px;

}

.hero h1{

font-size:65px;

line-height:1.05;

margin-bottom:28px;

font-weight:800;

color:var(--secondary);

}

.subtitle{

font-size:20px;

line-height:1.8;

color:var(--text-light);

margin-bottom:40px;

}

.hero-buttons{

display:flex;

gap:20px;

}

.btn-primary{

background:var(--primary);

color:white;

padding:18px 34px;

border-radius:16px;

text-decoration:none;

font-weight:700;

cursor:pointer;

transition:.25s;

}

.btn-primary:hover{

background:var(--primary-hover);

transform:translateY(-4px);

box-shadow:
0 18px 40px rgba(30,58,138,.25);

}

.btn-secondary{

border:2px solid var(--primary);

color:var(--primary);

padding:18px 34px;

border-radius:16px;

text-decoration:none;

font-weight:700;

transition:.25s;

cursor:pointer;

}

.btn-secondary:hover{

transform:
translateY(-4px);

background:var(--primary);

color:white;

}

.hero-image{

display:flex;

justify-content:flex-end;

}

.hero-image img{

width:100%;

max-width:700px;

height:760px;

object-fit:cover;

border-radius:40px;

box-shadow:

0 40px 100px

rgba(0,0,0,.12);

margin-top:40px;

}

/* DECORACION */

.hero::before{

display:none;

content:"";

position:absolute;

top:-300px;

left:-250px;

width:700px;

height:700px;

background:

rgba(36,84,255,.05);

border-radius:50%;

z-index:-1;

}

.nav-links a.active{

color:var(--primary);

position:relative;

}

.nav-links a.active::after{

content:"";

position:absolute;

bottom:-12px;

left:0;

width:100%;

height:3px;

background:var(--primary);

border-radius:999px;

}

/* PERSONAS */

.people{

padding:120px 8%;

background:var(--background-light);

}

.people-header{

text-align:center;

max-width:850px;

margin:auto;

}

.section-tag{

color:var(--primary);

font-weight:700;

margin-bottom:18px;

}

.people h2{

font-size:52px;

margin-bottom:24px;

color:var(--secondary);

}

.people-header p:last-child{

font-size:20px;

color:var(--text-light);

line-height:1.8;

}

.people-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:30px;

margin-top:70px;

}

.people-card{

background:white;

padding:40px;

border-radius:28px;

box-shadow:

0 20px 60px
rgba(0,0,0,.05);

transition:.3s;

}

.people-card:hover{

transform:
translateY(-10px);

}

.icon{

font-size:42px;

margin-bottom:22px;

}

.people-card h3{

margin-bottom:16px;

font-size:28px;

}

.people-card p{

color:var(--text-light);

line-height:1.8;

}

/* ==========================
   PROCESS
========================== */

.process{

position:relative;

padding:140px 8%;

background:

linear-gradient(
rgba(8,22,56,.60),
rgba(8,22,56,.60)
),

url("../images/hero-trabajamos.png");

background-size:cover;

background-position:center;

background-attachment:fixed;

overflow:hidden;

}

.process-header{

text-align:center;

max-width:850px;

margin:0 auto 80px;

color:white;

}

.process .section-tag{

display:inline-block;

padding:12px 24px;

background:rgba(255,255,255,.12);

border:1px solid rgba(255,255,255,.18);

color:white;

border-radius:999px;

}

.process h2{

font-size:52px;

margin:20px 0;

color:white;

}

.process-header p{

font-size:20px;

line-height:1.8;

color:rgba(255,255,255,.85);

}

.process-grid{

margin-top:80px;

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.step{

background:rgba(255,255,255,.10);

backdrop-filter:blur(12px);

-webkit-backdrop-filter:blur(12px);

border:1px solid rgba(255,255,255,.15);

padding:40px;

border-radius:28px;

transition:.35s;

}

.step:hover{

transform:translateY(-10px);

background:rgba(255,255,255,.16);

box-shadow:

0 20px 60px
rgba(0,0,0,.18);

}

.number{

width:80px;

height:80px;

background:white;

color:var(--primary);

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

font-size:28px;

font-weight:700;

margin-bottom:28px;

}

.step h3{

font-size:28px;

margin-bottom:18px;

color:white;

}

.step p{

color:rgba(255,255,255,.82);

line-height:1.8;

}

/* SERVICES */

.services{

padding:140px 8%;

background:var(--background-light);

}

.services-header{

text-align:center;

max-width:900px;

margin:auto;

}

.services h2{

font-size:52px;

margin:20px 0;

}

.services-header p{

font-size:20px;

color:var(--text-light);

}

.services-grid{

display:grid;

grid-template-columns:
repeat(4,1fr);

gap:28px;

margin-top:80px;

}

.service{

background:white;

padding:50px 35px;

border-radius:32px;

text-align:center;

transition:.3s;

border:1px solid #EEF2FF;

}

.service:hover{

transform:
translateY(-12px);

box-shadow:
0 30px 80px
rgba(0,0,0,.06);

}

.service-icon{

font-size:56px;

margin-bottom:30px;

}

.service h3{

font-size:30px;

margin-bottom:18px;

}

.service p{

color:var(--text-light);

line-height:1.8;

}

.disabled{

opacity:.65;

}

/* FEATURED */

.featured{

padding:140px 8%;

}

.featured-header{

text-align:center;

max-width:850px;

margin:auto;

}

.featured h2{

font-size:52px;

margin:20px 0;

}

.featured-header p{

font-size:20px;

color:var(--text-light);

}

.properties-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:32px;

margin-top:80px;

}

.property{

background:white;

border-radius:32px;

overflow:hidden;

box-shadow:
0 20px 60px
rgba(0,0,0,.06);

transition:.3s;

}

.property:hover{

transform:
translateY(-10px);

}

.property img{

width:100%;

height:300px;

object-fit:cover;

}

.property-content{

padding:34px;

}

.operation{

background:var(--primary);

color:white;

padding:10px 16px;

border-radius:999px;

font-size:13px;

}

.property h3{

margin-top:26px;

font-size:30px;

}

.property p{

margin:18px 0;

color:var(--text-light);

}

.property-btn{

display:inline-block;

color:var(--primary);

font-weight:700;

cursor:pointer;

}

.featured-cta{

text-align:center;

margin-top:70px;

}

.featured-cta a{

text-decoration:none;

font-size:20px;

font-weight:700;

color:var(--primary);

}

/* ABOUT */

.about{

padding:140px 8%;

display:grid;

grid-template-columns:
1fr 1fr;

gap:80px;

align-items:center;

}

.about-image img{

width:100%;

height:700px;

object-fit:cover;

border-radius:36px;

}

.about-content h2{

font-size:56px;

line-height:1.1;

margin:

20px 0 30px;

}

.about-content p{

font-size:18px;

line-height:1.9;

color:var(--text-light);
margin-bottom:24px;

}

.about-data{

display:flex;

gap:50px;

margin-top:50px;

}

.about-data h3{

font-size:48px;

color:var(--primary);

}

.about-data span{

color:var(--text-light);

}

/* CONTACT */

.contact{

padding:140px 8%;

display:grid;

grid-template-columns:
1fr 1fr;

gap:70px;

align-items:center;

}

.contact h2{

font-size:56px;

margin:20px 0;

}

.contact-left p{

color:var(--text-light);

line-height:1.8;

}

.contact-info{

margin-top:50px;

display:flex;

flex-direction:column;

gap:35px;

}

.contact-item{

display:flex;

gap:20px;

}

.contact-item span{

font-size:34px;

}

.contact-item h4{

margin-bottom:8px;

}

.contact-btn{

display:inline-block;

margin-top:50px;

background:var(--primary);

color:white;

padding:20px 34px;

border-radius:18px;

text-decoration:none;

transition:.3s;

}

.contact-btn:hover{

transform:
translateY(-5px);

}

.contact-map iframe{

width:100%;

height:700px;

border:none;

border-radius:32px;

}

/* FOOTER */

footer{

background:#04113D;

padding:120px 8% 50px;

}

.footer-content{

display:flex;

justify-content:space-between;

align-items:flex-start;

margin-bottom:100px;

}

.footer-brand{

max-width:520px;

}

.footer-brand img{

width:340px;

display:block;

margin-bottom:35px;

}


.footer-links{

display:flex;

flex-direction:column;

align-items:flex-start;

min-width:320px;

}

.footer-links a{

color:white;

text-decoration:none;

font-size:20px;

font-weight:400;

padding:

26px 0;

width:100%;

border-bottom:

1px solid
rgba(255,255,255,.12);

transition:.3s;

}

.footer-links a:hover{

padding-left:20px;

color:var(--primary);

}

.footer-bottom{

display:flex;

justify-content:space-between;

align-items:center;

padding-top:50px;

border-top:

1px solid
rgba(255,255,255,.12);

}

.footer-bottom span{

color:

rgba(255,255,255,.85);

font-size:18px;

}

.footer-bottom a{

text-decoration:none;

color:

rgba(255,255,255,.75);

font-size:18px;

transition:.3s;

}

.footer-bottom a span{

color:var(--primary);

}

.footer-bottom a:hover{

opacity:1;

}

.contact-item a{

text-decoration:none;

color:var(--primary);

transition:.3s;

}

.contact-item a:hover{

opacity:.8;

}

.footer-bottom div{

color:

rgba(255,255,255,.75);

}

.footer-bottom div a{

text-decoration:none;

color:var(--primary);

margin-left:8px;

}

.footer-bottom div a:hover{

opacity:.8;

}

/* HERO WORD SLIDER */

.word-slider{

display:inline-block;

height:90px;

overflow:hidden;

vertical-align:bottom;

color:var(--primary);

}

.word-track{

display:flex;

flex-direction:column;

animation:

slideWords

9s

infinite;

}

.word-track span{

display:flex;

align-items:center;

height:110px;

}

@keyframes slideWords{

0%{

transform:
translateY(0);

}

28%{

transform:
translateY(0);

}

33%{

transform:
translateY(-110px);

}

61%{

transform:
translateY(-110px);

}

66%{

transform:
translateY(-220px);

}

94%{

transform:
translateY(-220px);

}

100%{

transform:
translateY(0);

}

}



/* PROPIEDADES */

.properties-hero{

padding:

220px 8%
120px;

text-align:center;

}

.properties-hero h1{

font-size:72px;

margin:30px 0;

}

.properties-hero p{

font-size:22px;

color:var(--text-light);

}



.filters{

display:grid;

grid-template-columns:

repeat(4,1fr);

gap:24px;

padding:

0 8%
140px;

}



.filter{

display:flex;

flex-direction:column;

gap:10px;

}



.filter label{

font-weight:700;

}



.filter select{

height:62px;

border:

1px solid #E5E7EB;

border-radius:18px;

padding:

0 20px;

}



.filters button{

height:62px;

background:var(--primary);

color:white;

border:none;

border-radius:18px;

font-size:18px;

cursor:pointer;

transition:.3s;

}



.filters button:hover{

transform:
translateY(-4px);

}


/* GRID */

.properties-grid-page{

padding:

0 8%
140px;

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:34px;

}



.property-card{

background:white;

border-radius:32px;

overflow:hidden;

box-shadow:

0 20px 60px
rgba(0,0,0,.05);

transition:.35s;

}



.property-card:hover{

transform:
translateY(-10px);

}



.property-card img{

width:100%;

height:300px;

object-fit:cover;

}



.property-info{

padding:34px;

}



.property-info span{

background:var(--primary);

color:white;

padding:

10px 18px;

border-radius:999px;

font-size:13px;

}



.property-info h3{

margin:

26px 0 16px;

font-size:28px;

}



.property-info p{

color:var(--text-light);

margin-bottom:24px;

}



.property-info a{

color:var(--primary);

font-weight:700;

cursor:pointer;

}



/* CTA */

.cta-properties{

padding:

120px 8%;

text-align:center;

}



.cta-properties h2{

font-size:56px;

margin-bottom:24px;

}



.cta-properties p{

color:var(--text-light);

font-size:20px;

margin-bottom:40px;

}



.cta-properties a{

background:var(--primary);

color:white;

padding:

20px 36px;

border-radius:18px;

text-decoration:none;

display:inline-block;

transition:.3s;

}



.cta-properties a:hover{

transform:
translateY(-5px);

}

/* HAMBURGUESA */

/* MENU */

.menu-toggle{

display:none;

flex-direction:column;

gap:6px;

cursor:pointer;

z-index:9999;

}

.menu-toggle span{

width:28px;

height:3px;

background:var(--secondary);

border-radius:999px;

transition:.3s;

}

/* CTA BANNER */

.cta-banner{

height:650px;

background:

linear-gradient(
rgba(8,22,56,.55),
rgba(8,22,56,.55)
),

url("../images/hero-fondo.png");

background-size:cover;

background-position:center;

background-attachment:fixed;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

padding:0 8%;

}

.overlay{

max-width:900px;

color:white;

}

.overlay h2{

font-size:62px;

margin:30px 0;

line-height:1.1;

}

.overlay p{

font-size:22px;

line-height:1.8;

margin-bottom:50px;

opacity:.9;

}

.cta-btn{

display:inline-block;

background:white;

color:var(--primary);

padding:20px 38px;

border-radius:18px;

text-decoration:none;

font-weight:700;

transition:.3s;

}

.cta-btn:hover{

transform:translateY(-5px);

}

/* BOTÓN WHATSAPP */

.floating{

position:fixed;

bottom:30px;

right:30px;

width:68px;

height:68px;

background:#25D366;

color:white;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

text-decoration:none;

font-size:34px;

z-index:999;

box-shadow:
0 15px 35px rgba(37,211,102,.35);

transition:
all .3s ease;

}

.floating:hover{

background:#20BA5A;

transform:
translateY(-6px) scale(1.05);

box-shadow:
0 20px 45px rgba(37,211,102,.45);

}

.floating i{

line-height:1;

}

/* ==========================
        SCROLL ANIMATIONS
========================== */

.reveal{

opacity:0;

transform:translateY(60px);

transition:
opacity .8s ease,
transform .8s ease;

will-change:opacity,transform;

}

.reveal.active{

opacity:1;

transform:translateY(0);

}

/* ==========================
   EMPTY PROPERTIES
========================== */

.empty-properties{

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

text-align:center;

padding:120px 20px;

max-width:700px;

margin:auto;

}

.empty-properties img{

width:110px;

margin-bottom:35px;

}

.empty-properties h2{

font-size:42px;

margin-bottom:20px;

color:var(--secondary);

}

.empty-properties p{

font-size:19px;

line-height:1.8;

color:var(--text-light);

margin-bottom:40px;

}

.empty-properties a{

display:inline-block;

padding:18px 34px;

background:var(--primary);

color:white;

text-decoration:none;

border-radius:16px;

font-weight:600;

transition:.3s;

}

.empty-properties a:hover{

background:var(--primary-hover);

transform:translateY(-5px);

}

/* ==========================
        PROPERTY DETAIL
========================== */

.breadcrumb{

padding:140px 8% 40px;

}

.breadcrumb-content{

display:flex;

align-items:center;

gap:14px;

font-size:15px;

}

.breadcrumb-content a{

text-decoration:none;

color:var(--text-light);

transition:.3s;

}

.breadcrumb-content a:hover{

color:var(--primary);

}

.breadcrumb-content p{

font-weight:600;

color:var(--secondary);

}

/* HERO */

.property-detail{

padding:0 8% 120px;

display:grid;

grid-template-columns:1.2fr 1fr;

gap:70px;

align-items:start;

}

.gallery{

display:flex;

flex-direction:column;

gap:20px;

}

.main-image{

overflow:hidden;

border-radius:28px;

transition:.35s;

}

.main-image img{

width:100%;

height:600px;

object-fit:cover;

display:block;

transition:.4s;

}

.gallery-thumbs{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:18px;

}

.gallery-thumbs img{

width:100%;

height:110px;

object-fit:cover;

border-radius:16px;

cursor:pointer;

transition:.3s;

border:3px solid transparent;

}

.gallery-thumbs img:hover{

transform:scale(.97);

}

.gallery-thumbs .active{

border-color:var(--primary);

}

.property-summary{

position:sticky;

top:130px;

}

.operation{

display:inline-block;

padding:10px 18px;

border-radius:999px;

background:var(--primary);

color:white;

font-size:13px;

font-weight:700;

margin-bottom:25px;

}

.property-summary h1{

font-size:52px;

line-height:1.1;

margin-bottom:20px;

}

.property-summary h2{

font-size:44px;

color:var(--primary);

margin-bottom:25px;

}

.location{

font-size:19px;

color:var(--text-light);

margin-bottom:40px;

}

.quick-features{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

margin-bottom:45px;

}

.quick-features div{

background:var(--background-light);

padding:22px;

border-radius:18px;

display:flex;

align-items:center;

gap:14px;

font-weight:600;

}

.property-description{

padding:0 8% 140px;

max-width:900px;

}

.property-description h2{

font-size:40px;

margin-bottom:25px;

}

.property-description p{

font-size:19px;

line-height:2;

color:var(--text-light);

}

/* ==========================
    LOADER
========================== */

/* ==========================
   LOADER
========================== */

.loader{

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

min-height:450px;

padding:60px 20px;

gap:25px;

transition:.35s;

}

.loader.hidden{

display:none;

}

.loader-spinner{

width:60px;

height:60px;

border:5px solid #E5E7EB;

border-top:5px solid var(--primary);

border-radius:50%;

animation:spin 1s linear infinite;

}

.loader p{

font-size:18px;

font-weight:500;

color:var(--text-light);

}

@keyframes spin{

0%{

transform:rotate(0deg);

}

100%{

transform:rotate(360deg);

}

}


/*==========================
CARDS PROPIEDADES TOKKO
==========================*/

.property-card{

background:#fff;

border-radius:24px;

overflow:hidden;

box-shadow:0 15px 45px rgba(0,0,0,.08);

transition:.35s;

display:flex;

flex-direction:column;

}

.property-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 60px rgba(0,0,0,.12);

}

.property-image-wrapper{

position:relative;

overflow:hidden;

}

.property-image{

width:100%;

height:270px;

object-fit:cover;

transition:.5s;

display:block;

}

.property-card:hover .property-image{

transform:scale(1.05);

}

.property-badge{

position:absolute;

left:20px;

top:20px;

background:rgba(17,41,110,.95);

color:#fff;

padding:10px 18px;

border-radius:30px;

font-size:13px;

font-weight:700;

text-transform:uppercase;

letter-spacing:1px;

}

.property-info{

padding:30px;

display:flex;

flex-direction:column;

}

.property-info h3{

font-size:34px;

line-height:1.2;

margin-bottom:15px;

color:var(--text);

}

.property-location{

display:flex;

align-items:center;

gap:8px;

font-size:17px;

color:var(--text-light);

margin-bottom:25px;

}

.property-location i{

color:var(--primary);

}

.property-tags{

margin-bottom:25px;

}

.property-operation{

display:inline-block;

padding:10px 20px;

background:#EDF3FF;

color:var(--primary);

border-radius:40px;

font-size:14px;

font-weight:700;

}

.property-price{

font-size:42px;

font-weight:800;

color:var(--primary);

margin-bottom:30px;

}

.property-btn{

display:flex;

justify-content:center;

align-items:center;

gap:10px;

padding:16px;

border:2px solid var(--primary);

color:var(--primary);

text-decoration:none;

font-size:17px;

font-weight:700;

border-radius:12px;

transition:.3s;

background:white;

margin-top:25px;

}

.property-btn:hover{

background:var(--primary);

color:white;

}

.property-btn i{

font-size:14px;

transition:.3s;

}

.property-btn:hover i{

transform:translateX(4px);

}


/*==========================================
PROPERTY DETAIL
==========================================*/

.property-page{

padding:40px 8% 100px;

display:grid;

grid-template-columns:1.2fr .8fr;

gap:70px;

align-items:start;

}

.property-gallery{

display:flex;

flex-direction:column;

gap:20px;

}

.main-photo{

overflow:hidden;

border-radius:28px;

box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.main-photo img{

width:100%;

height:650px;

object-fit:cover;

display:block;

transition:.35s;

}

.gallery-thumbs{

display:grid;

grid-template-columns:repeat(5,1fr);

gap:15px;

}

.gallery-thumbs img{

width:100%;

height:95px;

object-fit:cover;

cursor:pointer;

border-radius:14px;

border:3px solid transparent;

transition:.3s;

}

.gallery-thumbs img:hover{

transform:scale(.96);

}

.gallery-thumbs img.active{

border-color:var(--primary);

}

.property-data{

position:sticky;

top:120px;

background:#fff;

padding:40px;

border-radius:28px;

box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.property-type{

display:inline-flex;

padding:10px 18px;

background:#EDF3FF;

color:var(--primary);

border-radius:30px;

font-size:13px;

font-weight:700;

letter-spacing:1px;

text-transform:uppercase;

margin-bottom:25px;

}

.property-data h1{

font-size:42px;

line-height:1.2;

margin-bottom:25px;

}

.property-price{

font-size:46px;

font-weight:800;

color:var(--primary);

margin-bottom:30px;

}

.property-address{

display:flex;

align-items:center;

gap:10px;

font-size:18px;

margin-bottom:10px;

color:var(--text);

}

.property-address i{

color:var(--primary);

}

.property-city{

font-size:18px;

color:var(--text-light);

margin-bottom:30px;

}

.property-operation{

display:inline-block;

padding:10px 18px;

background:#0F172A;

color:#fff;

border-radius:30px;

font-size:14px;

font-weight:700;

margin-bottom:35px;

}

.property-contact{

display:flex;

justify-content:center;

align-items:center;

gap:12px;

padding:18px;

background:#25D366;

color:#fff;

text-decoration:none;

font-weight:700;

font-size:18px;

border-radius:14px;

transition:.3s;

}

.property-contact:hover{

transform:translateY(-3px);

background:#1EBE5A;

}

.property-description{

padding:0 8% 120px;

max-width:1100px;

}

.property-description h2{

font-size:42px;

margin-bottom:30px;

}

.property-description div{

font-size:18px;

line-height:2;

color:var(--text-light);

}

.property-description p{

margin-bottom:20px;

}

.property-description strong{

color:var(--secondary);

}

.property-not-found{

padding:180px 8%;

text-align:center;

}

.property-not-found h2{

margin-bottom:25px;

}

.property-not-found a{

display:inline-block;

padding:16px 30px;

background:var(--primary);

color:white;

text-decoration:none;

border-radius:12px;

}

/*==========================================
MAPA
==========================================*/

.property-map{

padding:0 8% 120px;

}

.property-map h2{

font-size:42px;

margin-bottom:30px;

}

.property-map iframe{

width:100%;

height:500px;

border:none;

border-radius:28px;

box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.property-description *{

      color: var(--text) !important;

      font-family: inherit !important;

}

.property-description strong,
.property-description b{

      color: var(--secondary);

      font-weight:700;

}

.home-price{

display:block;

margin:18px 0;

font-size:28px;

font-weight:800;

color:var(--primary);

}