/* =========================================================
   CARPAS DEL SUR — hoja de estilos
   Paleta tomada del logotipo original.
   ========================================================= */

:root{
  /* ---- PALETA DE MARCA ---- */
  --carbon:#23110D;        /* café casi negro: tipografía, hero, pie */
  --petroleo:#27383A;      /* verde petróleo: segunda sección oscura */
  --terracota:#A16C57;     /* acento decorativo (no usar en texto chico) */
  --terracota-osc:#8A5744; /* enlaces y texto de acento */
  --arena:#C1A487;         /* bandas cálidas, detalles */
  --blush:#FFEEE5;         /* fondo base de la marca */
  --blanco:#FFFFFF;

  --linea:#EBD9CE;
  --gris:#6B5A52;

  --max:1140px;
  --fuente-display:'Libre Caslon Display', 'Big Caslon', Georgia, serif;
  --fuente-texto:'Montserrat', system-ui, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

body{
  margin:0;
  font-family:var(--fuente-texto);
  font-size:1rem;
  font-weight:400;
  line-height:1.75;
  color:var(--carbon);
  background:var(--blush);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{font-family:var(--fuente-display);font-weight:400;line-height:1.12;margin:0 0 .55em}
h1{font-size:clamp(2.3rem,5.4vw,3.9rem);letter-spacing:-.01em}
h2{font-size:clamp(1.75rem,3.6vw,2.6rem)}
h3{font-size:clamp(1.2rem,2vw,1.45rem)}
h4{font-family:var(--fuente-texto);font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .8em}
p{margin:0 0 1.15em;max-width:66ch}
a{color:var(--terracota-osc);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--carbon)}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:2px solid var(--terracota-osc);outline-offset:3px}

.contenedor{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:24px}
.seccion{padding:84px 0}
.seccion--blanca{background:var(--blanco)}
.seccion--oscura{background:var(--petroleo);color:var(--blush)}
.seccion--oscura h2,.seccion--oscura h3{color:var(--blush)}
.seccion--oscura a{color:var(--arena)}
.encabezado-seccion{max-width:58ch;margin-bottom:2.75rem}
.encabezado-seccion p{color:var(--gris)}
.seccion--oscura p,.seccion--oscura .encabezado-seccion p{color:#D6C7BC}

/* ---------- Separador: cheurones del isotipo ---------- */
.cheurones{display:block;width:54px;height:auto;margin:0 auto 2.5rem;stroke:var(--terracota);stroke-width:5;fill:none;stroke-linejoin:miter}
.cheurones--izq{margin-left:0;margin-right:0;margin-bottom:1.75rem;width:42px}
.seccion--oscura .cheurones{stroke:var(--arena)}
.hero .cheurones{stroke:var(--arena)}
.cierre .cheurones{stroke:var(--carbon)}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--fuente-texto);font-weight:600;font-size:.78rem;
  letter-spacing:.12em;text-transform:uppercase;
  padding:1rem 1.7rem;border-radius:2px;
  text-decoration:none;border:1px solid var(--carbon);cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.btn--primario{background:var(--carbon);color:var(--blush)}
.btn--primario:hover{background:var(--terracota-osc);border-color:var(--terracota-osc);color:var(--blanco)}
.btn--linea{background:transparent;color:var(--carbon);border-color:currentColor}
.btn--linea:hover{background:var(--carbon);color:var(--blush);border-color:var(--carbon)}
.seccion--oscura .btn--primario,.hero .btn--primario{background:var(--blush);color:var(--carbon);border-color:var(--blush)}
.seccion--oscura .btn--primario:hover,.hero .btn--primario:hover{background:var(--arena);border-color:var(--arena);color:var(--carbon)}
.seccion--oscura .btn--linea,.hero .btn--linea{color:var(--blush)}
.seccion--oscura .btn--linea:hover{background:var(--blush);color:var(--petroleo)}
.hero .btn--linea:hover{background:var(--blush);color:var(--carbon)}
.cabecera .btn--primario{background:var(--carbon);color:var(--blush);border-color:var(--carbon)}
.grupo-botones{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.9rem}

/* ---------- Cabecera ---------- */
.cabecera{position:sticky;top:0;z-index:50;background:var(--blush);border-bottom:1px solid var(--linea)}
.cabecera__barra{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:86px}
.marca{display:block;flex-shrink:0}
.marca img{height:40px;width:auto}
.nav{display:flex;align-items:center;gap:1.8rem}
.nav a{
  font-family:var(--fuente-texto);font-weight:500;font-size:.76rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--carbon);text-decoration:none;
  padding-bottom:3px;border-bottom:1px solid transparent;
}
.nav a:hover,.nav a[aria-current="page"]{color:var(--carbon);border-bottom-color:var(--terracota)}
.cabecera .btn{padding:.8rem 1.25rem;font-size:.72rem}
@media (max-width:980px){
  .nav{display:none}
  .cabecera__barra{min-height:70px}
  .marca img{height:32px}
}

/* ---------- Hero ---------- */
.hero{background:var(--carbon);color:var(--blush);padding:104px 0 92px}
.hero h1{color:var(--blush);max-width:15ch}
.hero__entrada{font-size:1.08rem;color:#D9C9BF;max-width:54ch}
.hero__datos{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:3rem;padding-top:1.75rem;border-top:1px solid rgba(255,238,229,.2)}
.hero__dato{max-width:21ch}
.hero__dato strong{display:block;font-family:var(--fuente-display);font-weight:400;font-size:1.55rem;color:var(--arena);line-height:1.15}
.hero__dato span{display:block;margin-top:.25rem;font-size:.9rem;color:#C9B7AC;line-height:1.6}
.hero--interno{padding:76px 0 64px}
.hero--interno h1{max-width:20ch}

/* ---------- Migas ---------- */
.migas{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gris);padding:20px 0 0}
.migas a{color:var(--gris)}
.migas ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}
.migas li+li::before{content:"—";margin-right:.5rem;color:var(--arena)}

/* ---------- Rejillas ---------- */
.rejilla{display:grid;gap:1.75rem}
.rejilla--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.rejilla--3{grid-template-columns:repeat(auto-fit,minmax(265px,1fr))}
.rejilla--4{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}

/* ---------- Bloques ---------- */
.bloque{border-top:1px solid var(--linea);padding-top:1.4rem}
.bloque h3{margin-bottom:.4rem;font-size:1.25rem}
.bloque p{font-size:.95rem;color:var(--gris);margin-bottom:0}
.bloque--acento{border-top:2px solid var(--terracota)}
.seccion--oscura .bloque{border-top-color:rgba(255,238,229,.22)}
.seccion--oscura .bloque p{color:#D6C7BC}

/* ---------- Dos vías: venta / renta ---------- */
.via{background:var(--blanco);padding:2.5rem;border:1px solid var(--linea)}
.via__etiqueta{font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--terracota-osc);margin-bottom:.9rem}
.via h3{font-size:1.5rem}
.via ul{margin:0 0 1.75rem;padding:0;list-style:none;color:var(--gris);font-size:.95rem}
.via li{padding-left:1.4rem;position:relative;margin-bottom:.65rem;line-height:1.6}
.via li::before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-left:1.5px solid var(--terracota);border-top:1.5px solid var(--terracota);transform:rotate(45deg)}

/* ---------- Tablas ---------- */
.tabla-envoltura{overflow-x:auto;background:var(--blanco);border:1px solid var(--linea)}
table{border-collapse:collapse;width:100%;min-width:660px;font-size:.95rem}
caption{text-align:left;padding:1.1rem 1.4rem;color:var(--gris);font-size:.87rem;line-height:1.6}
th,td{padding:.95rem 1.4rem;text-align:left;border-bottom:1px solid var(--linea)}
thead th{background:var(--carbon);color:var(--blush);font-weight:600;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;border-bottom:none}
tbody tr:last-child td{border-bottom:none}
tbody th{font-family:var(--fuente-display);font-weight:400;font-size:1.15rem;color:var(--carbon);white-space:nowrap}
tbody tr:nth-child(even){background:#FDF7F3}

/* ---------- Proceso ---------- */
.proceso{list-style:none;counter-reset:paso;margin:0;padding:0;display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}
.proceso li{counter-increment:paso;padding-top:3rem;position:relative;border-top:1px solid var(--linea)}
.proceso li::before{content:counter(paso);position:absolute;top:.85rem;left:0;font-family:var(--fuente-display);font-size:1.4rem;color:var(--terracota)}
.proceso h3{font-size:1.2rem;margin-bottom:.35rem}
.proceso p{font-size:.93rem;color:var(--gris);margin:0}
.seccion--oscura .proceso li{border-top-color:rgba(255,238,229,.22)}
.seccion--oscura .proceso li::before{color:var(--arena)}
.seccion--oscura .proceso p{color:#D6C7BC}

/* ---------- Zonas ---------- */
.zonas{display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0;list-style:none}
.zonas li{border:1px solid var(--linea);background:var(--blanco);padding:.45rem .95rem;font-size:.85rem}
.seccion--oscura .zonas li{background:transparent;border-color:rgba(255,238,229,.28);color:var(--blush)}

/* ---------- Preguntas ---------- */
details{border-bottom:1px solid var(--linea);padding:1.35rem 0}
details summary{cursor:pointer;font-family:var(--fuente-display);font-size:1.22rem;color:var(--carbon);list-style:none;padding-right:2rem;position:relative}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";position:absolute;right:0;top:0;color:var(--terracota);font-family:var(--fuente-texto);font-size:1.25rem;line-height:1.35}
details[open] summary::after{content:"–"}
details p{margin:.9rem 0 0;color:var(--gris);font-size:.95rem}

/* ---------- Llamado final ---------- */
.cierre{background:var(--arena);color:var(--carbon);padding:76px 0;text-align:center}
.cierre h2{color:var(--carbon);max-width:19ch;margin-inline:auto}
.cierre p{color:#4A3225;max-width:50ch;margin-inline:auto}
.cierre .grupo-botones{justify-content:center}

/* ---------- Pie ---------- */
.pie{background:var(--carbon);color:#C9B7AC;padding:72px 0 32px;font-size:.92rem}
.pie h4{color:var(--blush)}
.pie p{color:#C9B7AC}
.pie a{color:#C9B7AC;text-decoration:none}
.pie a:hover{color:var(--arena)}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-bottom:.5rem}
.pie__logo{height:34px;width:auto;margin-bottom:1.25rem}
.pie__legal{border-top:1px solid rgba(255,238,229,.18);margin-top:3rem;padding-top:1.5rem;font-size:.82rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}
.pie__enlaces-seo{margin-top:2rem;font-size:.82rem;line-height:2.1;color:#9E8A7F}
.pie__enlaces-seo a{border-bottom:1px solid rgba(255,238,229,.18)}

/* ---------- WhatsApp ---------- */
.whatsapp-flotante{
  position:fixed;right:20px;bottom:20px;z-index:60;
  display:inline-flex;align-items:center;gap:.55rem;
  background:var(--carbon);color:var(--blush);text-decoration:none;
  font-weight:600;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.9rem 1.25rem;border-radius:2px;
  box-shadow:0 8px 24px rgba(35,17,13,.28);
}
.whatsapp-flotante:hover{background:var(--terracota-osc);color:var(--blanco)}
@media (max-width:520px){.whatsapp-flotante span{display:none}.whatsapp-flotante{padding:.95rem;border-radius:50%}}

.oculto-visual{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Fotografía ---------- */
.hero--foto{position:relative;isolation:isolate}
.hero--foto::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(100deg,rgba(35,17,13,.95) 0%,rgba(35,17,13,.78) 42%,rgba(35,17,13,.34) 100%),var(--foto);
  background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat;
}
@media (max-width:700px){
  .hero--foto::before{background-image:linear-gradient(180deg,rgba(35,17,13,.9),rgba(35,17,13,.82)),var(--foto)}
}

.medios{display:grid;gap:2.75rem;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));align-items:center}
.medios__foto{margin:0}
.medios__foto img{width:100%;height:420px;object-fit:cover}
.medios p:last-child{margin-bottom:0}

.galeria{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.galeria figure{margin:0;background:var(--blanco)}
.galeria img{width:100%;height:250px;object-fit:cover;display:block}
.galeria figcaption{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);padding:.75rem .2rem 0;line-height:1.5}
.seccion--oscura .galeria figcaption{color:#C9B7AC}
.galeria--ancha figure:first-child{grid-column:span 2}
.galeria--ancha figure:first-child img{height:514px}
@media (max-width:760px){
  .galeria--ancha figure:first-child{grid-column:span 1}
  .galeria--ancha figure:first-child img{height:250px}
}

.tarjeta{background:var(--blanco);border:1px solid var(--linea)}
.tarjeta img{width:100%;height:210px;object-fit:cover}
.tarjeta__cuerpo{padding:1.3rem 1.45rem 1.6rem}
.tarjeta h3{font-size:1.22rem;margin-bottom:.35rem}
.tarjeta p{font-size:.93rem;color:var(--gris);margin:0}
