/* Ajustes solicitados: portada Río Abajo y foto institucional de Nosotros. */
.hero { background-image: url('assets/hero-rio-abajo-v2.png'); }

/* Línea gráfica del Home aprobada: editorial, elegante y cálida. */
body { background:#fbfaf5; font-family:'Montserrat',sans-serif; }
.header { background:rgba(255,254,250,.96); }
.brand img { width:180px; }
.nav { font-family:'Montserrat',sans-serif; font-size:12px; }
.hero { min-height:690px; background-position:center; }
.hero-overlay { background:linear-gradient(90deg,rgba(255,253,247,.98) 0%,rgba(255,253,247,.92) 30%,rgba(255,253,247,.53) 49%,rgba(255,253,247,.04) 72%); }
.hero-content { padding:74px 0 38px; }
.eyebrow { font-size:10px; color:var(--green); background:transparent; padding:0; letter-spacing:.11em; }
.hero h1,.section-head h2,.center-head h2,.about-copy h2,.faq-grid h2,.contact h2,.home-invest h2,.home-visit h2 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:700; }
.hero h1 { max-width:540px; font-size:clamp(53px,5.2vw,76px); line-height:.88; letter-spacing:-.025em; margin:16px 0 22px; }
.hero h1 em,.home-invest h2 em { display:block; color:var(--gold); font-family:'Great Vibes',cursive; font-size:1.25em; font-weight:400; line-height:.85; margin-top:6px; }
.hero p { max-width:430px; font-size:14px; line-height:1.75; }
.hero-actions { margin:23px 0 28px; }
.btn { border-radius:7px; font-size:12px; padding:13px 18px; }
.stats { max-width:555px; padding:0; box-shadow:none; border:0; background:transparent; grid-template-columns:repeat(3,1fr); gap:0; }
.stats div { align-items:center; text-align:center; padding:6px 13px; border-bottom:0; }
.stats b { display:grid; place-items:center; width:39px; height:39px; margin-bottom:6px; border-radius:50%; background:var(--green); color:#fff; font-size:20px; }
.stats span { color:var(--green); font-size:9px; line-height:1.35; font-weight:800; text-transform:uppercase; }
.section { padding:78px 0; }
.section-head { display:block; text-align:center; margin-bottom:32px; }
.section-head h2 { font-size:48px; }
.section-head h2:after { content:'✦'; display:block; color:var(--gold); font:18px Georgia,serif; margin-top:3px; }
.section-head p { margin:0 auto; font-size:13px; }
.section-head .kicker { color:var(--green); font-size:10px; }
.section-head .text-link { position:absolute; opacity:0; pointer-events:none; }
.sector-grid { gap:16px; }
.sector-card { height:292px; border-radius:11px; background:#fff; overflow:visible; box-shadow:0 6px 20px rgba(20,45,27,.07); }
.sector-card img { height:166px; border-radius:11px 11px 0 0; }
.sector-shade { display:none; }
.sector-info { position:relative; inset:auto; color:var(--green); text-align:center; padding:27px 15px 12px; background:#fff; border-radius:0 0 11px 11px; min-height:126px; }
.sector-info:before { content:'⌖'; position:absolute; left:50%; top:-24px; transform:translateX(-50%); display:grid; place-items:center; width:47px; height:47px; border-radius:50%; background:var(--gold); color:#fff; font-size:25px; border:4px solid #fff; }
.sector-info span { display:block; color:var(--green); font:800 13px 'Montserrat',sans-serif; letter-spacing:.04em; }
.sector-info h3 { font-family:'Montserrat',sans-serif; font-size:10px; font-weight:500; color:#4c564e; line-height:1.45; margin:6px 0 8px; }
.sector-info button { background:#fff; color:var(--green); border-color:var(--green); border-radius:5px; padding:6px 20px; font-size:10px; }
.home-invest { position:relative; overflow:hidden; max-width:1180px; min-height:365px; margin:0 auto 38px; border-radius:12px; color:#fff; background:linear-gradient(90deg,#043b24ee 0%,#073b24c9 43%,#073b2459 73%,#073b241c),url('assets/hero-rio-abajo-v2.png') center/cover; }
.invest-copy { position:relative; z-index:1; max-width:580px; padding:42px 36px 92px; }
.invest-copy>span { color:#e7bf67; font-size:10px; font-weight:800; }
.home-invest h2 { font-size:43px; color:#fff; margin:12px 0 17px; line-height:.95; }
.invest-copy ul { padding:0; margin:0; list-style:none; font-size:11px; line-height:1.9; }
.invest-copy li:before { content:'✓'; color:#efca78; font-weight:800; margin-right:9px; }
.invest-stats { position:absolute; z-index:2; inset:auto 0 0; display:grid; grid-template-columns:repeat(4,1fr); background:#063720e8; padding:14px 25px; }
.invest-stats div { display:flex; gap:9px; align-items:center; justify-content:center; border-right:1px solid #ffffff54; }
.invest-stats div:last-child { border:0; }
.invest-stats b { color:#fff; font:700 28px 'Cormorant Garamond',serif; }
.invest-stats span { max-width:80px; color:#fff; font-size:8px; font-weight:800; text-transform:uppercase; line-height:1.25; }
.home-visit { max-width:1180px; margin:0 auto 75px; display:grid; grid-template-columns:1.2fr .8fr 1fr; align-items:stretch; background:#fff; border:1px solid #ece8df; border-radius:12px; overflow:hidden; }
.home-visit>div { padding:33px; }
.home-visit h2 { color:var(--green); font-size:34px; line-height:.98; margin:10px 0; }
.home-visit p { color:#59655d; font-size:12px; }
.home-visit img { width:100%; height:250px; object-fit:cover; }
.reserve { background:#f7f3ea; color:var(--green); display:flex; flex-direction:column; justify-content:center; }
.reserve span { font-size:12px; font-weight:600; }.reserve b { font:700 60px 'Cormorant Garamond',serif; line-height:.9; }.reserve p { margin:8px 0 0; color:var(--green); font-weight:600; }
@media(max-width:760px){.hero{min-height:700px;background-position:60% center}.hero h1{font-size:52px}.home-invest,.home-visit{border-radius:0;margin-bottom:28px}.home-visit{grid-template-columns:1fr}.home-visit img{height:220px}.invest-stats{grid-template-columns:repeat(2,1fr);gap:10px}.invest-stats div:nth-child(2){border:0}.invest-copy{padding:36px 23px 120px}.home-invest h2{font-size:38px}.sector-card{height:284px}.sector-grid{gap:30px}}

/* Urbanizaciones: tarjetas grandes con fotografía real, como la referencia aprobada. */
#sectores .section-head { display:flex; text-align:left; align-items:end; justify-content:space-between; }
#sectores .section-head h2 { max-width:630px; font-family:'Cormorant Garamond',Georgia,serif; font-size:52px; line-height:.9; }
#sectores .section-head h2:after { display:none; }
#sectores .section-head p { margin:0; font-size:13px; }
#sectores .section-head .text-link { position:static; opacity:1; pointer-events:auto; font-size:12px; }
#sectores .sector-grid { gap:18px; }
#sectores .sector-card { height:330px; border-radius:18px; overflow:hidden; box-shadow:0 10px 28px rgba(0,0,0,.08); }
#sectores .sector-card img { height:100%; border-radius:0; }
#sectores .sector-shade { display:block; background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.75) 100%); }
#sectores .sector-info { position:absolute; left:22px; right:22px; bottom:22px; min-height:0; padding:0; background:transparent; text-align:left; color:#fff; }
#sectores .sector-info:before { display:none; }
#sectores .sector-info span { color:#f1d38d; font:800 11px 'Montserrat',sans-serif; letter-spacing:.13em; }
#sectores .sector-info h3 { font-family:'Cormorant Garamond',Georgia,serif; color:#fff; font-size:30px; font-weight:700; line-height:1; margin:8px 0 14px; }
#sectores .sector-info button { background:rgba(7,59,36,.82); color:#fff; border:1px solid rgba(255,255,255,.55); border-radius:8px; padding:10px 14px; font-size:12px; }
@media(max-width:760px){#sectores .section-head{display:block;text-align:left}#sectores .section-head h2{font-size:43px}#sectores .section-head .text-link{display:inline-block;margin-top:16px}#sectores .sector-grid{gap:18px}#sectores .sector-card{height:300px}}

/* WhatsApp: llamadas a la acción más visibles y fáciles de identificar. */
.wa-top,
.whatsapp-btn,
.floating-wa {
  background: #18a84a;
  color: #fff;
}
.wa-top {
  box-shadow: 0 7px 18px rgba(24,168,74,.25);
  border: 2px solid rgba(255,255,255,.28);
}
.wa-top:hover,
.whatsapp-btn:hover,
.floating-wa:hover {
  background: #0f8e3d;
  transform: translateY(-2px);
}
.whatsapp-btn {
  border: 0;
  box-shadow: 0 7px 16px rgba(24,168,74,.22);
  font-weight: 800;
  white-space: nowrap;
}
.project-body .whatsapp-btn {
  flex: 1;
  text-align: center;
  font-size: 12px;
  padding: 10px 12px;
}
.modal-whatsapp {
  display: inline-flex;
  margin-top: 12px;
  align-items: center;
  justify-content: center;
}
.modal-price {
  display: block;
  margin-top: 10px;
  color: var(--green);
  font-size: 18px;
}
.floating-wa {
  border: 3px solid #fff;
  box-shadow: 0 10px 28px rgba(0,0,0,.22), 0 0 0 5px rgba(24,168,74,.12);
}
.hero .btn-primary {
  box-shadow: 0 8px 20px rgba(24,168,74,.22);
}
@media(max-width:760px){
  .project-body .whatsapp-btn { flex: 1; }
  .modal-whatsapp { width: 100%; }
}


/* Movimiento sutil, accesible y sin dependencias externas. */
.reveal-ready, .section-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--reveal-delay, var(--section-delay, 0ms));
}
.reveal-ready.is-visible, .section-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.project-card, .sector-card, .btn, .mini {
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.project-card:hover { transform: translateY(-5px); }
.btn:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal-ready, .section-reveal { opacity: 1; transform: none; }
}

/* Fichas individuales de urbanizaciones. */
.detail-page { background: #fbfaf5; min-height: 100vh; }
.detail-nav { background: rgba(255,254,250,.97); border-bottom: 1px solid var(--line); }
.detail-nav-inner { min-height: 78px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.detail-brand { display:flex; align-items:center; gap:12px; color:var(--green); font-weight:800; font-size:13px; letter-spacing:.03em; }
.detail-brand img { width:100px; height:58px; object-fit:contain; }
.detail-back { color:var(--green); font-size:13px; font-weight:800; padding:11px 14px; border:1px solid #d7dfd4; border-radius:7px; }
.detail-back:hover { background:#edf2e9; }
.detail-wrap { width:min(1080px,calc(100% - 40px)); margin:0 auto; padding:42px 0 70px; }
.detail-breadcrumb { color:#6b786e; font-size:12px; margin-bottom:20px; }
.detail-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.detail-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); gap:34px; align-items:start; }
.detail-photo { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; box-shadow:0 15px 40px rgba(12,38,25,.12); background:#e8e9df; }
.detail-kicker { display:inline-block; color:var(--green); font-size:11px; font-weight:800; letter-spacing:.12em; margin:4px 0 10px; }
.detail-title { color:var(--green); font:700 clamp(36px,5vw,58px)/1.02 'Cormorant Garamond',Georgia,serif; margin:0 0 16px; }
.detail-desc { font-size:15px; line-height:1.85; color:#49554c; }
.detail-price-box { margin:24px 0; padding:19px 20px; background:#fff; border:1px solid #e6e3d6; border-left:4px solid var(--gold); border-radius:8px; }
.detail-price { color:var(--green); font-size:25px; font-weight:800; }
.detail-price-note { display:block; color:#657167; font-size:12px; line-height:1.6; margin-top:5px; }
.detail-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.detail-actions .btn { min-height:46px; }
.detail-note { color:#737b72; font-size:11px; line-height:1.7; margin-top:18px; }
.detail-footer { padding:22px 20px; background:var(--green); color:#fff; text-align:center; font-size:12px; }
.detail-footer a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:760px) {
  .detail-nav-inner { min-height:68px; }
  .detail-brand { font-size:10px; }
  .detail-brand img { width:72px; height:48px; }
  .detail-back { font-size:11px; padding:9px 10px; }
  .detail-wrap { padding:25px 0 45px; }
  .detail-layout { grid-template-columns:1fr; gap:22px; }
  .detail-photo { aspect-ratio:4/3; }
  .detail-title { font-size:42px; }
  .detail-desc { font-size:14px; }
}


/* Galería de fotografías de las fichas */
.detail-gallery{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.detail-thumb{width:76px;height:62px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#fff;cursor:pointer}
.detail-thumb.active{border-color:#c9a64a}
.detail-thumb img{width:100%;height:100%;object-fit:cover}
