@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&display=swap');

/* ============================================================
   RANCHO LA CAÑADA · estética rural contemporánea, sobria
   Integrada a Rancho HI NEMIX (verde #075F2C, tinta #0F2530)
   ============================================================ */
.rcanada {
  --verde:#075F2C; --verde2:#0b7a3b; --tinta:#0F2530;
  --arena:#e7ddc9; --piedra:#b3a892; --tierra:#6b4f3a;
  --crema:#f7f3ea; --linea:#e3dccd; --texto:#2b2a26; --muted:#726c60;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow:0 20px 50px rgba(31,28,20,.14);
  color:var(--texto); background:#fff;
  font-family:"Be Vietnam Pro",system-ui,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.rcanada *{ box-sizing:border-box; }
.rcanada img{ display:block; width:100%; }
.rcanada a{ color:inherit; text-decoration:none; }
.rc-wrap{ width:min(1180px,92vw); margin:0 auto; }
.rc-eyebrow{ margin:0 0 14px; color:var(--verde); font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.rc-kicker-light{ color:#bfe6c9; }
.rcanada h2{ margin:0; color:var(--tinta); font-size:clamp(2rem,4vw,3.4rem); line-height:1.04; letter-spacing:-.03em; font-weight:800; text-wrap:balance; }
.rcanada p{ line-height:1.7; }
.rc-lead{ max-width:56ch; color:var(--muted); font-size:1.06rem; }

/* Barra superior / header */
.rc-topbar{ display:flex; align-items:center; justify-content:space-between; gap:20px; height:70px; padding:0 4vw; background:#fff; border-bottom:1px solid var(--linea); position:sticky; top:0; z-index:30; }
.rc-brand{ display:flex; align-items:center; gap:12px; font-weight:900; color:var(--tinta); letter-spacing:.01em; }
.rc-brand .rc-hi{ display:inline-grid; place-items:center; width:40px; height:34px; background:var(--verde); color:#fff; border-radius:11px 11px 11px 3px; font-weight:800; font-size:.9rem; }
.rc-brand small{ display:block; color:var(--muted); font-weight:600; font-size:.66rem; letter-spacing:.04em; }
.rc-topnav{ display:flex; gap:26px; font-size:.82rem; font-weight:700; }
.rc-topnav a{ color:var(--tinta); }
.rc-topnav a:hover{ color:var(--verde); }
.rc-back{ color:var(--muted); font-size:.78rem; font-weight:700; }

/* Hero */
.rc-hero{ position:relative; min-height:82vh; display:grid; align-items:end; overflow:hidden; background:var(--tinta); }
.rc-hero>img{ position:absolute; inset:0; height:100%; object-fit:cover; }
.rc-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,37,48,.82),rgba(15,37,48,.15) 55%,rgba(15,37,48,.35)); }
.rc-hero-inner{ position:relative; z-index:2; padding:0 0 8vh; color:#fff; }
.rc-hero h1{ margin:.2em 0 .3em; font-size:clamp(2.8rem,7vw,6rem); line-height:.98; letter-spacing:-.04em; font-weight:900; text-wrap:balance; }
.rc-hero .rc-loc{ display:inline-flex; align-items:center; gap:8px; color:#e7ddc9; font-weight:700; font-size:.86rem; letter-spacing:.02em; }
.rc-hero-sub{ max-width:44ch; margin:0 0 30px; color:rgba(255,255,255,.9); font-size:clamp(1.05rem,1.6vw,1.3rem); font-weight:500; }
.rc-cta-row{ display:flex; flex-wrap:wrap; gap:14px; }
.rc-btn{ display:inline-flex; align-items:center; gap:8px; padding:15px 26px; border-radius:9px; font-weight:800; font-size:.9rem; transition:transform .18s var(--ease), background .2s, box-shadow .2s; }
.rc-btn-primary{ color:#fff; background:var(--verde); box-shadow:0 12px 26px rgba(7,95,44,.4); }
.rc-btn-primary:hover{ transform:translateY(-2px); background:var(--verde2); }
.rc-btn-ghost{ color:#fff; border:1.5px solid rgba(255,255,255,.55); }
.rc-btn-ghost:hover{ background:rgba(255,255,255,.12); border-color:#fff; }

/* Secciones */
.rc-sec{ padding:clamp(64px,9vw,120px) 0; }
.rc-sec.crema{ background:var(--crema); }
.rc-sec.tinta{ background:var(--tinta); color:#fff; }
.rc-sec.tinta h2{ color:#fff; }
.rc-head{ max-width:70ch; margin:0 auto clamp(34px,5vw,60px); text-align:center; }
.rc-head .rc-eyebrow{ display:block; }
.rc-head p{ margin:16px auto 0; color:var(--muted); }
.rc-sec.tinta .rc-head p{ color:rgba(255,255,255,.75); }

/* Visión (texto + imagen) */
.rc-split{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(28px,4vw,60px); align-items:center; }
.rc-split.rev{ direction:rtl; } .rc-split.rev>*{ direction:ltr; }
.rc-split img{ border-radius:16px; box-shadow:var(--shadow); aspect-ratio:4/3; object-fit:cover; }
.rc-split .rc-eyebrow{ display:block; }
.rc-split h2{ margin-bottom:18px; }

/* Territorio: dato grande + mapa */
.rc-terr-stats{ display:flex; flex-wrap:wrap; gap:14px; margin:28px 0 0; }
.rc-stat{ flex:1 1 150px; padding:18px 20px; background:#fff; border:1px solid var(--linea); border-radius:12px; }
.rc-sec.crema .rc-stat{ background:#fff; }
.rc-stat b{ display:block; color:var(--verde); font-size:1.6rem; font-weight:900; letter-spacing:-.03em; }
.rc-stat span{ color:var(--muted); font-size:.78rem; }
.rc-figure{ margin:34px 0 0; border-radius:16px; overflow:hidden; border:1px solid var(--linea); box-shadow:var(--shadow); background:#fff; }
.rc-figure img{ width:100%; }
.rc-figure figcaption{ padding:12px 18px; color:var(--muted); font-size:.76rem; background:#fff; border-top:1px solid var(--linea); }
.rc-figure .tag{ color:var(--tierra); font-weight:800; }
details.rc-poly{ margin:26px 0 0; border:1px solid var(--linea); border-radius:12px; background:#fff; overflow:hidden; }
details.rc-poly summary{ padding:16px 20px; font-weight:800; color:var(--tinta); cursor:pointer; list-style:none; }
details.rc-poly summary::-webkit-details-marker{ display:none; }
details.rc-poly[open] summary{ border-bottom:1px solid var(--linea); }
.rc-poly table{ width:100%; border-collapse:collapse; font-size:.86rem; }
.rc-poly td,.rc-poly th{ padding:11px 20px; text-align:left; border-bottom:1px solid var(--linea); }
.rc-poly th{ color:var(--muted); font-weight:700; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }
.rc-poly td:last-child,.rc-poly th:last-child{ text-align:right; font-variant-numeric:tabular-nums; }
.rc-poly tr:last-child td{ border-bottom:0; }

/* Principios (tarjetas) */
.rc-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; }
.rc-card{ padding:26px; background:#fff; border:1px solid var(--linea); border-radius:14px; transition:transform .22s var(--ease), box-shadow .22s; }
.rc-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.rc-card .rc-ic{ width:44px; height:44px; display:grid; place-items:center; border-radius:11px; background:var(--crema); color:var(--verde); margin-bottom:16px; }
.rc-card h3{ margin:0 0 8px; color:var(--tinta); font-size:1.12rem; }
.rc-card p{ margin:0; color:var(--muted); font-size:.9rem; }
.rc-card .rc-flag{ display:inline-block; margin-top:12px; padding:3px 9px; border-radius:20px; background:var(--crema); color:var(--tierra); font-size:.64rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.rc-card .rc-cat{ display:block; margin-bottom:9px; color:var(--tierra); font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.rc-xp-note{ margin:26px auto 0; max-width:60ch; text-align:center; color:var(--muted); font-size:.86rem; }

/* Proceso (pasos) */
.rc-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.rc-step{ position:relative; padding:26px 24px; background:#fff; border:1px solid var(--linea); border-radius:14px; }
.rc-step .rc-num{ display:inline-grid; place-items:center; width:34px; height:34px; border-radius:9px; background:var(--verde); color:#fff; font-weight:900; font-size:.95rem; margin-bottom:14px; }
.rc-step h3{ margin:0 0 8px; color:var(--tinta); font-size:1.08rem; line-height:1.25; }
.rc-step p{ margin:0; color:var(--muted); font-size:.88rem; line-height:1.55; }

/* Agua y paisaje (bloque oscuro) */
.rc-water{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,50px); align-items:center; }
.rc-water img{ border-radius:16px; box-shadow:var(--shadow); }
.rc-water ul{ margin:20px 0 0; padding:0; list-style:none; }
.rc-water li{ position:relative; padding:0 0 14px 26px; color:rgba(255,255,255,.85); line-height:1.55; }
.rc-water li::before{ content:""; position:absolute; left:2px; top:8px; width:9px; height:9px; border-radius:50%; background:#9bec69; }
.rc-note{ margin:22px 0 0; padding:14px 18px; border-left:3px solid var(--tierra); background:rgba(255,255,255,.06); border-radius:0 10px 10px 0; color:rgba(255,255,255,.78); font-size:.84rem; }

/* Galería */
.rc-gallery{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:210px; gap:12px; }
.rc-gallery figure{ margin:0; overflow:hidden; border-radius:12px; background:var(--tinta); }
.rc-gallery img{ height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.rc-gallery figure:hover img{ transform:scale(1.04); }
.rc-gallery .wide{ grid-column:span 2; } .rc-gallery .tall{ grid-row:span 2; }

/* CTA final */
.rc-cta{ text-align:center; }
.rc-cta .rc-opts{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:26px 0 30px; }
.rc-cta .rc-opt{ padding:9px 16px; border:1px solid rgba(255,255,255,.3); border-radius:30px; color:rgba(255,255,255,.9); font-size:.82rem; font-weight:600; }
.rc-form{ max-width:560px; margin:6px auto 26px; display:grid; grid-template-columns:1fr 1fr; gap:12px; text-align:left; }
.rc-form .full{ grid-column:1 / -1; }
.rc-form input,.rc-form select{ width:100%; height:52px; padding:0 15px; border:1px solid rgba(255,255,255,.22); border-radius:10px; background:rgba(255,255,255,.07); color:#fff; font:inherit; outline:0; }
.rc-form input::placeholder{ color:rgba(255,255,255,.55); }
.rc-form input:focus,.rc-form select:focus{ border-color:#9bec69; box-shadow:0 0 0 3px rgba(155,236,105,.18); }
.rc-form select option{ color:#111; }
.rc-form button{ height:52px; border:0; border-radius:10px; background:var(--verde); color:#fff; font-weight:800; font-size:.92rem; cursor:pointer; transition:background .2s, transform .15s; }
.rc-form button:hover{ background:var(--verde2); transform:translateY(-1px); }
.rc-form-status{ min-height:18px; margin:2px 0 0; color:#bfe6c9; font-size:.82rem; }
@media (max-width:560px){ .rc-form{ grid-template-columns:1fr; } }

/* Footer */
.rc-foot{ padding:56px 4vw 30px; background:#0b1a20; color:rgba(255,255,255,.75); }
.rc-foot .rc-foot-top{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; align-items:center; }
.rc-foot a{ color:#bfe6c9; }
.rc-foot nav{ display:flex; gap:20px; font-size:.8rem; font-weight:700; }
.rc-foot small{ display:block; margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.45); font-size:.72rem; }

/* WhatsApp flotante (reutiliza número HI NEMIX) */
.rc-wa{ position:fixed; right:20px; bottom:20px; z-index:40; width:56px; height:56px; display:grid; place-items:center; color:#fff; background:#25D366; border-radius:50%; box-shadow:0 12px 30px rgba(37,211,102,.45); }
.rc-wa:hover{ transform:scale(1.07); }

@media (max-width:900px){
  .rc-split,.rc-water{ grid-template-columns:1fr; }
  .rc-split.rev{ direction:ltr; }
  .rc-steps{ grid-template-columns:1fr; }
  .rc-topnav{ display:none; }
  .rc-gallery{ grid-template-columns:repeat(2,1fr); grid-auto-rows:160px; }
  .rc-hero{ min-height:78vh; }
}
@media (prefers-reduced-motion:reduce){
  .rcanada *{ transition:none!important; }
}
