/* =================================================================
   REALTOR CENTER 2.0  -  HOME CORPORATIVA PREMIUM
   Hoja autocontenida y tokenizada. Todo vive bajo .rc2 para no
   pelear con la cascada previa del tema.
   Paleta: verde profundo #0B0B0B / petroleo #6F6F6F /
           lima #D9A84E / azul hielo #F2F2F2
   Autor: VEDAeco TECH
================================================================= */

.rc2{
	--ink:#0B0B0B;
	--ink-2:#1A1A1A;
	--ink-3:#1A1A1A;
	--petrol:#6F6F6F;
	--lime:#D9A84E;
	--lime-d:#B8863D;
	--ice:#F2F2F2;
	--paper:#F5F9F8;
	--white:#ffffff;
	--muted:#3f4e4a;
	--line:rgba(11, 11, 11,.12);
	--line-2:rgba(11, 11, 11,.22);
	--line-light:rgba(255,255,255,.18);
	--shadow:0 34px 70px -34px rgba(11, 11, 11,.40);
	--shadow-soft:0 18px 44px -26px rgba(11, 11, 11,.28);
	--r:14px;
	--r-sm:9px;
	--shell:1200px;
	--ease:cubic-bezier(.2,.65,.2,1);
	--t:.28s var(--ease);

	position:relative;
	z-index:1;
	background:var(--paper);
	color:var(--ink);
	overflow-x:clip;
	font-family:"Inter","Helvetica Neue",Arial,sans-serif;
	font-size:17px;
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

.rc2 *,
.rc2 *::before,
.rc2 *::after{ box-sizing:border-box; }

.rc2 h1,.rc2 h2,.rc2 h3,.rc2 p,.rc2 ul,.rc2 figure,.rc2 blockquote,.rc2 dl{ margin:0; }
.rc2 img{ display:block; max-width:100%; height:auto; }
.rc2 a{ color:inherit; text-decoration:none; }
.rc2 ul{ list-style:none; padding:0; }

.rc2 :focus-visible{
	outline:2px solid var(--lime);
	outline-offset:3px;
	border-radius:3px;
}

/* ---------- Layout ---------- */
.rc2-shell{
	width:min(var(--shell), calc(100% - 48px));
	margin-inline:auto;
}

.rc2-overline{
	display:inline-block;
	font-size:12.5px;
	font-weight:600;
	letter-spacing:.20em;
	text-transform:uppercase;
	color:var(--petrol);
	margin-bottom:18px;
}
.rc2-overline--light{ color:rgba(255,255,255,.78); }
.rc2-overline--lime{ color:var(--lime); }

.rc2-h2{
	font-family:"Playfair Display",Georgia,serif;
	font-weight:600;
	font-size:clamp(28px, 3.6vw, 46px);
	line-height:1.1;
	letter-spacing:-.01em;
	color:var(--ink);
}
.rc2-h3{
	font-family:"Inter",sans-serif;
	font-weight:600;
	font-size:clamp(18px, 1.7vw, 21px);
	line-height:1.25;
	letter-spacing:-.005em;
	color:var(--ink);
}
.rc2-text{
	color:var(--muted);
	font-size:16.5px;
	line-height:1.7;
}

.rc2-head{ max-width:680px; margin-bottom:clamp(34px,4vw,56px); }
.rc2-head__lead{ color:var(--muted); margin-top:16px; font-size:16.5px; line-height:1.7; }
.rc2-head--light .rc2-h2{ color:var(--white); }

.rc2-link{
	display:inline-flex;
	align-items:center;
	gap:9px;
	font-weight:600;
	font-size:15px;
	letter-spacing:.005em;
	color:var(--ink);
	border-bottom:2px solid var(--lime);
	padding-bottom:3px;
	transition:gap var(--t), color var(--t);
}
.rc2-link span{ transition:transform var(--t); }
.rc2-link:hover{ gap:13px; }
.rc2-link:hover span{ transform:translateX(3px); }
.rc2-link--dark{ color:var(--ink); }

/* ---------- Botones ---------- */
.rc2-actions{ display:flex; flex-wrap:wrap; gap:14px; }
.rc2-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:54px;
	padding:0 30px;
	border-radius:var(--r-sm);
	border:1.5px solid transparent;
	font-family:"Inter",sans-serif;
	font-weight:600;
	font-size:15.5px;
	letter-spacing:.01em;
	cursor:pointer;
	transition:transform var(--t), background var(--t), border-color var(--t), color var(--t), box-shadow var(--t);
	will-change:transform;
}
.rc2-btn:hover{ transform:translateY(-2px); }
.rc2-btn:active{ transform:translateY(0); }

.rc2-btn--primary{ background:var(--lime); color:var(--ink); border-color:var(--lime); }
.rc2-btn--primary:hover{ background:var(--lime-d); border-color:var(--lime-d); box-shadow:0 16px 30px -14px rgba(184, 134, 61,.65); }

.rc2-btn--ghost-light{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.45); }
.rc2-btn--ghost-light:hover{ background:rgba(255,255,255,.10); border-color:var(--white); }

.rc2-btn--ghost-dark{ background:transparent; color:var(--ink); border-color:var(--line-2); }
.rc2-btn--ghost-dark:hover{ background:var(--ink); color:var(--white); border-color:var(--ink); }

.rc2-btn--solid-dark{ background:var(--ink); color:var(--white); border-color:var(--ink); }
.rc2-btn--solid-dark:hover{ background:var(--ink-3); border-color:var(--ink-3); box-shadow:var(--shadow-soft); }

/* =================================================================
   HERO
================================================================= */
.rc2-hero{
	position:relative;
	display:flex;
	align-items:center;
	min-height:clamp(560px, 82vh, 760px);
	padding:clamp(90px,12vh,130px) 0 clamp(56px,7vh,80px);
	background-color:var(--ink);
	background-image:var(--rc2-hero-img);
	background-size:cover;
	background-position:center;
	overflow:hidden;
}
.rc2-hero__veil{
	position:absolute;
	inset:0;
	background:
		linear-gradient(180deg, rgba(11, 11, 11,.30) 0%, rgba(11, 11, 11,.10) 30%, rgba(11, 11, 11,.86) 100%),
		linear-gradient(102deg, rgba(11, 11, 11,.94) 0%, rgba(11, 11, 11,.78) 46%, rgba(11, 11, 11,.48) 100%);
}
.rc2-hero__inner{ position:relative; z-index:2; max-width:780px; }
.rc2-hero__title{
	font-family:"Playfair Display",Georgia,serif;
	font-weight:600;
	color:var(--white);
	font-size:clamp(36px, 5.4vw, 66px);
	line-height:1.04;
	letter-spacing:-.015em;
	margin-bottom:22px;
}
.rc2-hero__lead{
	color:rgba(255,255,255,.86);
	font-size:clamp(16.5px,1.5vw,19px);
	line-height:1.6;
	max-width:600px;
	margin-bottom:32px;
}
.rc2-hero .rc2-actions{ margin-bottom:clamp(40px,6vh,64px); }

.rc2-hero__stats{
	display:flex;
	flex-wrap:wrap;
	gap:0;
	border-top:1px solid var(--line-light);
	padding-top:26px;
}
.rc2-hero__stats li{
	flex:1 1 0;
	min-width:170px;
	padding:0 26px;
	border-left:1px solid var(--line-light);
}
.rc2-hero__stats li:first-child{ padding-left:0; border-left:0; }
.rc2-hero__stats span{
	display:block;
	font-size:12px;
	font-weight:600;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--lime);
	margin-bottom:7px;
}
.rc2-hero__stats strong{
	display:block;
	font-weight:500;
	font-size:16px;
	color:var(--white);
}

/* =================================================================
   INTRO INSTITUCIONAL
================================================================= */
.rc2-intro{ padding:clamp(72px,9vw,120px) 0; background:var(--white); }
.rc2-intro__grid{
	display:grid;
	grid-template-columns:5fr 6fr;
	gap:clamp(36px,5vw,72px);
	align-items:center;
}
.rc2-intro__media{
	position:relative;
	border-radius:var(--r);
	overflow:hidden;
	box-shadow:var(--shadow);
	background:var(--ice);
}
.rc2-intro__media::after{
	content:"";
	position:absolute;
	left:0; bottom:0;
	width:46%; height:5px;
	background:var(--lime);
}
.rc2-intro__media img{ width:100%; aspect-ratio:4/3.2; object-fit:cover; }
.rc2-intro__copy .rc2-h2{ margin-bottom:20px; }
.rc2-intro__copy .rc2-text{ margin-bottom:26px; }

/* =================================================================
   SERVICIOS  (lista editorial, no cards genericas)
================================================================= */
.rc2-services{ padding:clamp(72px,9vw,120px) 0; background:var(--ice); }
.rc2-services__list{ border-top:1px solid var(--line); }
.rc2-service{
	display:grid;
	grid-template-columns:auto 1fr auto;
	align-items:center;
	gap:clamp(20px,3vw,48px);
	padding:clamp(26px,3vw,40px) 8px;
	border-bottom:1px solid var(--line);
	transition:padding-left var(--t), background var(--t);
}
.rc2-service:hover{ padding-left:22px; background:rgba(255,255,255,.5); }
.rc2-service__num{
	font-family:"Playfair Display",Georgia,serif;
	font-size:clamp(22px,2.4vw,30px);
	font-weight:600;
	color:var(--petrol);
	min-width:48px;
}
.rc2-service:hover .rc2-service__num{ color:var(--ink); }
.rc2-service__body{ display:block; }
.rc2-service__body .rc2-h3{ display:block; margin-bottom:7px; }
.rc2-service__body .rc2-text{ display:block; max-width:620px; }
.rc2-service__arrow{
	font-size:22px;
	color:var(--petrol);
	transition:transform var(--t), color var(--t);
}
.rc2-service:hover .rc2-service__arrow{ transform:translateX(6px); color:var(--lime-d); }

/* =================================================================
   DESARROLLOS
================================================================= */
.rc2-dev{ padding:clamp(72px,9vw,120px) 0; background:var(--white); }

.rc2-feature{
	display:grid;
	grid-template-columns:1.05fr 1fr;
	gap:clamp(28px,3.5vw,56px);
	align-items:stretch;
	border:1px solid var(--line);
	border-radius:var(--r);
	overflow:hidden;
	background:var(--white);
	box-shadow:var(--shadow-soft);
	margin-bottom:clamp(28px,3.5vw,52px);
}
.rc2-feature--noimg{ grid-template-columns:1fr; }
.rc2-feature__media{ position:relative; min-height:340px; background:var(--ice); }
.rc2-feature__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rc2-feature__body{
	padding:clamp(28px,3vw,48px);
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.rc2-feature__title{
	font-family:"Playfair Display",Georgia,serif;
	font-weight:600;
	font-size:clamp(24px,2.6vw,34px);
	line-height:1.12;
	color:var(--ink);
	margin:6px 0 16px;
}
.rc2-feature__body .rc2-text{ margin-bottom:26px; }

.rc2-badge{
	position:absolute;
	top:18px; left:18px;
	z-index:2;
	background:var(--ink);
	color:var(--white);
	font-size:12px;
	font-weight:600;
	letter-spacing:.10em;
	text-transform:uppercase;
	padding:8px 15px;
	border-radius:999px;
}
.rc2-badge--inline{ position:static; display:inline-block; margin-bottom:16px; background:var(--lime); color:var(--ink); }

.rc2-specs{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	background:var(--line);
	border:1px solid var(--line);
	border-radius:var(--r-sm);
	overflow:hidden;
	margin-bottom:28px;
}
.rc2-specs > div{ background:var(--white); padding:16px 18px; }
.rc2-specs dt{ font-size:11.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--petrol); margin-bottom:6px; }
.rc2-specs dd{ margin:0; font-weight:600; font-size:15.5px; color:var(--ink); }

.rc2-dev__grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:clamp(20px,2.5vw,32px);
	margin-bottom:clamp(28px,3.5vw,44px);
}
.rc2-dev__item{
	padding:clamp(24px,2.6vw,34px);
	border:1px solid var(--line);
	border-radius:var(--r);
	background:var(--white);
	transition:border-color var(--t), transform var(--t), box-shadow var(--t);
}
.rc2-dev__item:hover{ border-color:var(--line-2); transform:translateY(-3px); box-shadow:var(--shadow-soft); }
.rc2-dev__item-top{ display:flex; align-items:center; gap:14px; margin-bottom:16px; flex-wrap:wrap; }
.rc2-dev__item .rc2-h3{ margin-bottom:12px; }
.rc2-dev__item .rc2-text{ margin-bottom:20px; }
.rc2-pill{
	display:inline-block;
	background:var(--ice);
	color:var(--ink);
	font-size:11.5px;
	font-weight:600;
	letter-spacing:.10em;
	text-transform:uppercase;
	padding:6px 13px;
	border-radius:999px;
}
.rc2-dev__meta{ font-size:13.5px; color:var(--petrol); font-weight:500; }
.rc2-dev__foot{ border-top:1px solid var(--line); padding-top:28px; }

/* =================================================================
   POR QUE (banda verde profundo)
================================================================= */
.rc2-why{ padding:clamp(80px,10vw,128px) 0; background:var(--ink); position:relative; }
.rc2-why .rc2-head{ margin-bottom:clamp(40px,5vw,64px); }
.rc2-why__grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:1px;
	background:rgba(255,255,255,.10);
	border:1px solid rgba(255,255,255,.10);
	border-radius:var(--r);
	overflow:hidden;
}
.rc2-why__item{
	background:var(--ink);
	padding:clamp(30px,3.4vw,48px);
	position:relative;
	transition:background var(--t);
}
.rc2-why__item::before{
	content:"";
	position:absolute;
	top:0; left:0;
	width:0; height:3px;
	background:var(--lime);
	transition:width var(--t);
}
.rc2-why__item:hover{ background:var(--ink-2); }
.rc2-why__item:hover::before{ width:64px; }
.rc2-why__num{
	display:block;
	font-family:"Playfair Display",Georgia,serif;
	font-size:clamp(24px,2.6vw,32px);
	font-weight:600;
	color:var(--lime);
	margin-bottom:18px;
}
.rc2-why__title{
	font-family:"Inter",sans-serif;
	font-weight:600;
	font-size:clamp(18px,1.7vw,21px);
	color:var(--white);
	margin-bottom:12px;
	line-height:1.25;
}
.rc2-why__text{ color:rgba(255,255,255,.72); font-size:16px; line-height:1.65; }

/* =================================================================
   TESTIMONIOS
================================================================= */
.rc2-testi{ padding:clamp(72px,9vw,120px) 0; background:var(--paper); }
.rc2-testi__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,2.6vw,36px); }
.rc2-quote{ border-top:2px solid var(--lime); padding-top:26px; }
.rc2-quote blockquote{
	font-family:"Playfair Display",Georgia,serif;
	font-weight:500;
	font-size:clamp(18px,1.7vw,21px);
	line-height:1.45;
	color:var(--ink);
	margin-bottom:22px;
}
.rc2-quote figcaption{ display:flex; flex-direction:column; gap:3px; }
.rc2-quote figcaption strong{ font-weight:600; font-size:15.5px; color:var(--ink); }
.rc2-quote figcaption span{ font-size:12.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--petrol); }

/* =================================================================
   GUIA
================================================================= */
.rc2-guide{ padding:clamp(72px,9vw,120px) 0; background:var(--white); }
.rc2-guide__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,2.6vw,32px); }
.rc2-guide__card{
	display:block;
	border:1px solid var(--line);
	border-radius:var(--r);
	overflow:hidden;
	background:var(--white);
	transition:transform var(--t), box-shadow var(--t), border-color var(--t);
}
.rc2-guide__card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-soft); border-color:var(--line-2); }
.rc2-guide__media{ display:block; overflow:hidden; background:var(--ice); }
.rc2-guide__media img{ width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .5s var(--ease); }
.rc2-guide__card:hover .rc2-guide__media img{ transform:scale(1.04); }
.rc2-guide__body{ display:block; padding:24px 24px 28px; }
.rc2-guide__body .rc2-h3{ display:block; margin-bottom:10px; }
.rc2-guide__body .rc2-text{ display:block; font-size:15px; }

/* =================================================================
   CTA CONTACTO (banda verde profundo)
================================================================= */
.rc2-cta{ padding:clamp(80px,10vw,128px) 0; background:var(--ink); }
.rc2-cta__grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:clamp(40px,5vw,80px);
	align-items:start;
}
.rc2-cta__copy .rc2-h2{ color:var(--white); margin-bottom:18px; }
.rc2-cta__lead{ color:rgba(255,255,255,.80); font-size:16.5px; line-height:1.65; margin-bottom:24px; }
.rc2-cta__wa{ color:rgba(255,255,255,.80); font-size:15.5px; }
.rc2-cta__wa a{ color:var(--lime); font-weight:600; border-bottom:1px solid rgba(217, 168, 78,.4); }

.rc2-form{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
	background:rgba(255,255,255,.04);
	border:1px solid rgba(255,255,255,.12);
	border-radius:var(--r);
	padding:clamp(24px,2.6vw,34px);
}
.rc2-field{ display:flex; flex-direction:column; gap:8px; }
.rc2-field:nth-child(3){ grid-column:1 / -1; }
.rc2-field:nth-child(4){ grid-column:1 / -1; }
.rc2-field span{
	font-size:12px;
	font-weight:600;
	letter-spacing:.10em;
	text-transform:uppercase;
	color:rgba(255,255,255,.66);
}
.rc2-field input,
.rc2-field select{
	width:100%;
	min-height:50px;
	padding:0 16px;
	border-radius:var(--r-sm);
	border:1px solid rgba(255,255,255,.18);
	background:rgba(255,255,255,.06);
	color:var(--white);
	font-family:"Inter",sans-serif;
	font-size:15.5px;
	transition:border-color var(--t), background var(--t);
}
.rc2-field select{ appearance:none; cursor:pointer; }
.rc2-field select option{ color:#111; }
.rc2-field input::placeholder{ color:rgba(255,255,255,.45); }
.rc2-field input:focus,
.rc2-field select:focus{ outline:none; border-color:var(--lime); background:rgba(255,255,255,.10); }
.rc2-form__submit{ grid-column:1 / -1; width:100%; }

/* =================================================================
   RESPONSIVE
================================================================= */
@media (max-width:1024px){
	.rc2-intro__grid{ grid-template-columns:1fr; }
	.rc2-intro__media{ order:-1; }
	.rc2-feature{ grid-template-columns:1fr; }
	.rc2-feature__media{ min-height:280px; aspect-ratio:16/10; }
	.rc2-testi__grid,
	.rc2-guide__grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width:760px){
	.rc2{ font-size:16px; }
	.rc2-shell{ width:calc(100% - 36px); }
	.rc2-why__grid,
	.rc2-dev__grid,
	.rc2-cta__grid,
	.rc2-form,
	.rc2-testi__grid,
	.rc2-guide__grid{ grid-template-columns:1fr; }
	.rc2-specs{ grid-template-columns:1fr; }
	.rc2-hero__stats li{ flex:1 1 100%; padding:14px 0; border-left:0; border-top:1px solid var(--line-light); }
	.rc2-hero__stats li:first-child{ border-top:0; padding-top:0; }
	.rc2-service{ grid-template-columns:auto 1fr; }
	.rc2-service__arrow{ display:none; }
	.rc2-btn{ width:100%; }
	.rc2-actions{ width:100%; }
}

@media (prefers-reduced-motion:reduce){
	.rc2 *{ transition:none !important; animation:none !important; }
}
