:root{
  --fondo:#FBF7F2; --carta:#FFFFFF; --tinta:#1E1B18; --gris:#6B635B;
  --terra:#C0492A; --terra-o:#8E3319; --terra-c:#FBEAE3;
  --mar:#17607F; --mar-c:#E4F0F5; --arena:#F1E4D4; --linea:#EADCCB;
  --r:24px; --r2:16px;
  --tipo:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --sombra:0 10px 30px rgba(60,40,25,.07);
}
*,::before,::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--tinta);font-family:var(--tipo);
  font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
h1,h2,h3{margin:0 0 14px;font-weight:800;letter-spacing:-.028em;line-height:1.1}
h1{font-size:clamp(33px,5.2vw,60px)}
h2{font-size:clamp(26px,3.6vw,41px)}
h3{font-size:20px;letter-spacing:-.018em;line-height:1.25}
p{margin:0 0 17px}
.envoltura{max-width:1200px;margin:0 auto;padding:0 24px}
.gris{color:var(--gris)}

/* ---------- rotulo ---------- */
.rotulo{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.13em;
  text-transform:uppercase;color:var(--terra-o);background:var(--terra-c);
  padding:7px 15px;border-radius:999px;margin:0 0 18px}
.rotulo.mar{color:var(--mar);background:var(--mar-c)}

/* ---------- cabecera ---------- */
.cab{position:sticky;top:0;z-index:60;background:rgba(251,247,242,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.cab-in{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;min-height:74px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.logo .flor{width:38px;height:38px;flex-shrink:0}
.logo b{font-size:19px;font-weight:800;letter-spacing:-.03em}
.logo b i{font-style:normal;color:var(--terra)}
.nav{display:flex;align-items:center;gap:2px}
.nav a{text-decoration:none;font-size:14.5px;font-weight:600;padding:9px 12px;
  border-radius:999px;color:var(--gris)}
.nav a:hover{background:var(--arena);color:var(--tinta)}
.nav a.act{background:var(--tinta);color:var(--fondo)}
.tel-cab{margin-left:6px;background:var(--terra);color:#fff;padding:12px 19px;
  border-radius:999px;text-decoration:none;font-weight:800;font-size:15px;
  white-space:nowrap;transition:background .2s}
.tel-cab:hover{background:var(--terra-o)}
.hamb{display:none;background:var(--carta);border:1px solid var(--linea);width:46px;
  height:46px;border-radius:14px;cursor:pointer;padding:0}
.hamb span{display:block;width:19px;height:2px;background:var(--tinta);margin:4px auto;
  border-radius:2px}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;padding:15px 26px;border-radius:999px;
  font-weight:800;font-size:16px;text-decoration:none;border:2px solid transparent;
  transition:transform .2s,box-shadow .2s,background .2s}
.btn svg{width:18px;height:18px;fill:currentColor}
.btn-1{background:var(--terra);color:#fff;box-shadow:0 8px 22px rgba(192,73,42,.28)}
.btn-1:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(192,73,42,.34)}
.btn-2{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.btn-2:hover{background:var(--tinta);color:var(--fondo)}
.btn-wa{background:#128C4A;color:#fff;box-shadow:0 8px 22px rgba(18,140,74,.26)}
.btn-wa:hover{transform:translateY(-3px)}
.botones{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}

/* ---------- encabezado ---------- */
.migas{font-size:13.5px;color:var(--gris);padding:16px 0 0}
.migas a{text-decoration:none}
.migas a:hover{text-decoration:underline}
.top{padding:46px 0 58px;position:relative}
.top-in{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}
.top .entr{font-size:19.5px;color:var(--gris);max-width:54ch}
.top-foto{border-radius:var(--r);overflow:hidden;box-shadow:var(--sombra);
  border:1px solid var(--linea)}

/* ---------- cifras ---------- */
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}
.cifras div{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r2);
  padding:17px 18px}
.cifras b{display:block;font-size:30px;font-weight:800;letter-spacing:-.03em;
  color:var(--terra);line-height:1}
.cifras span{font-size:13px;color:var(--gris);font-weight:600}

/* ---------- secciones ---------- */
section{padding:70px 0}
.arena{background:var(--arena)}
.mar{background:var(--mar);color:#E6F1F6}
.mar h2,.mar h3{color:#fff}
.mar p{color:#C7DCE5}
.mar .rotulo{background:rgba(255,255,255,.16);color:#fff}
/* OJO: dentro de una seccion de color hay cajas BLANCAS. Ahi el texto vuelve
   a ser oscuro, o se queda en blanco sobre blanco. */
.mar .caja h3,.mar .caja b,.mar .busca label,.mar .busca b,
.mar .faq summary{color:var(--tinta)}
.mar .caja p,.mar .caja span,.mar .busca p,.mar .faq details p{color:var(--gris)}
.mar .busca input{color:var(--tinta)}
.mar .busca-lista li{color:var(--mar)}

/* ---------- EL MOSAICO (la retícula propia de esta web) ---------- */
.mosaico{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:34px}
.caja{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);
  padding:26px 26px 28px;position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s}
.caja:hover{transform:translateY(-5px);box-shadow:var(--sombra)}
.caja .num{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.12em;
  color:var(--terra);margin-bottom:8px}
.caja p{margin:0;color:var(--gris);font-size:15.5px}
.caja p+p{margin-top:12px}
.g6{grid-column:span 6}.g4{grid-column:span 4}.g3{grid-column:span 3}
.g2{grid-column:span 2}
.caja-foto{padding:0;min-height:210px}
.caja-foto img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.caja-terra{background:var(--terra);color:#fff;border-color:var(--terra)}
.caja-terra p{color:#FBDDD2}
.caja-terra .num{color:#FBDDD2}
.caja-arena{background:var(--arena);border-color:#E2D0BA}
.caja-flor::after{content:"";position:absolute;right:-26px;bottom:-26px;width:132px;
  height:132px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23D8C3AC' stroke-width='3'%3E%3Ccircle cx='60' cy='34' r='19'/%3E%3Ccircle cx='86' cy='60' r='19'/%3E%3Ccircle cx='60' cy='86' r='19'/%3E%3Ccircle cx='34' cy='60' r='19'/%3E%3Ccircle cx='60' cy='60' r='11'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;opacity:.5}

/* ---------- texto largo ---------- */
.texto{max-width:73ch}
.bloque{margin-bottom:34px}
.bloque h3{font-size:23px}
.bloque .num{font-size:12.5px;font-weight:800;letter-spacing:.12em;color:var(--terra);
  display:block;margin-bottom:6px}
.bloque strong{background:var(--terra-c);padding:1px 4px;border-radius:5px}

/* ---------- EL BUSCADOR DE BARRIO ---------- */
.busca{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);
  padding:28px 26px 30px;box-shadow:var(--sombra);margin-top:32px}
.busca label{display:block;font-weight:800;font-size:15px;margin-bottom:10px}
.busca-caja{display:flex;gap:11px;flex-wrap:wrap}
.busca input{flex:1;min-width:210px;font:inherit;font-size:17px;padding:15px 19px;
  border:2px solid var(--linea);border-radius:999px;background:var(--fondo);color:var(--tinta)}
.busca input:focus{outline:none;border-color:var(--terra);background:#fff}
.busca-res{margin-top:20px;min-height:30px}
.busca-lista{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.busca-lista li{background:var(--mar-c);color:var(--mar);border-radius:999px;
  padding:8px 15px;font-size:14.5px;font-weight:700}
.busca-lista li span{font-weight:500;opacity:.75}
.busca-si{background:var(--terra-c);border-radius:var(--r2);padding:18px 20px;
  margin-bottom:16px}
.busca-si b{display:block;font-size:19px;margin-bottom:4px}
.busca-si p{margin:0;font-size:15.5px;color:var(--gris)}
.busca-no{background:var(--arena);border-radius:var(--r2);padding:18px 20px}
.busca-no b{display:block;font-size:18px;margin-bottom:4px}
.busca-no p{margin:0;font-size:15.5px;color:var(--gris)}
.busca-pie{margin-top:16px;font-size:14px;color:var(--gris)}


/* ---------- EL PROBADOR: la persiana que se toca ---------- */
.visor{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);
  padding:24px;box-shadow:var(--sombra);margin-top:34px}
.visor-rej{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
.visor-tela{border-radius:var(--r2);overflow:hidden;background:#2A2320}
.visor svg{display:block;width:100%;height:auto}
/* los tres metales */
.visor.m-galvanizado{--met1:#B9BEC3;--met2:#E6EAED;--met3:#868D93}
.visor.m-inox{--met1:#CBD3D8;--met2:#F6FAFC;--met3:#94A0A8}
.visor.m-aluminio{--met1:#CFCBC4;--met2:#F0EDE7;--met3:#9C9891}
.visor .lama{fill:url(#met);stroke:rgba(0,0,0,.16);stroke-width:.6}
/* el paño sube y baja */
.pano{transition:transform 1.9s cubic-bezier(.4,0,.2,1)}
.visor.abierta .pano{transform:translateY(-274px)}
/* a mano sube a tirones; con motor, suave */
.visor.a-manual .pano{transition:transform 1.15s steps(7,end)}
.visor .motor,.visor .cerradura{transition:opacity .3s}
.visor.a-manual .motor{opacity:0;pointer-events:none}
.visor.a-motor .cerradura{opacity:0}
/* mandos */
.visor-grupo{margin-bottom:18px}
.visor-grupo>b{display:block;font-size:12.5px;font-weight:800;letter-spacing:.11em;
  text-transform:uppercase;color:var(--gris);margin-bottom:9px}
.visor-ops{display:flex;flex-wrap:wrap;gap:7px}
.visor-ops button{font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;
  border:1.5px solid var(--linea);background:var(--fondo);color:var(--gris);
  padding:9px 15px;border-radius:999px;transition:all .2s}
.visor-ops button:hover{border-color:var(--terra);color:var(--terra)}
.visor-ops button[aria-pressed=true]{background:var(--terra);border-color:var(--terra);
  color:#fff}
.visor-ficha{background:var(--fondo);border-radius:var(--r2);padding:17px 19px;
  margin-top:20px}
.visor-ficha dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:7px 14px}
.visor-ficha dt{font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gris);padding-top:2px;white-space:nowrap}
.visor-ficha dd{margin:0;font-size:15.5px;font-weight:600}
.visor-nota{font-size:14.5px;color:var(--gris);margin:14px 0 0}
.visor-abrir{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;
  padding-top:18px;border-top:1px solid var(--linea)}
.visor-abrir button{font:inherit;font-weight:800;font-size:15.5px;cursor:pointer;
  border:0;background:var(--tinta);color:var(--fondo);padding:13px 22px;border-radius:999px;
  transition:background .2s}
.visor-abrir button:hover{background:var(--terra)}
.visor-pie{font-size:13px;color:var(--gris);margin:14px 0 0;font-style:italic}
@media(max-width:900px){
  .visor-rej{grid-template-columns:1fr;gap:22px}
}
@media (prefers-reduced-motion:reduce){
  .pano{transition:none}
}

/* ---------- proceso ---------- */
.pasos{display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-top:34px}
.paso{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);
  padding:24px 22px 26px}
.paso b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:var(--tinta);color:var(--fondo);font-weight:800;font-size:15px;
  margin-bottom:14px}
.paso h3{font-size:18px;margin-bottom:7px}
.paso p{margin:0;font-size:15px;color:var(--gris)}

/* ---------- preguntas ---------- */
.faq{max-width:880px;margin-top:28px;display:grid;gap:11px}
.faq details{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r2);
  overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:19px 52px 19px 22px;position:relative;
  font-weight:800;font-size:17.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:20px;top:24px;width:11px;height:11px;
  border-right:2.5px solid var(--terra);border-bottom:2.5px solid var(--terra);
  transform:rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(-135deg);top:27px}
.faq details p{padding:0 22px 21px;margin:0;color:var(--gris)}

/* ---------- enlaces a otras paginas ---------- */
.sig{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  margin-top:34px}
.sig a{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r2);
  padding:21px 22px;text-decoration:none;transition:transform .25s,box-shadow .25s}
.sig a:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.sig b{display:block;font-size:18px;margin-bottom:4px}
.sig span{font-size:15px;color:var(--gris)}

/* ---------- cierre ---------- */
.cierre{background:var(--tinta);color:#F4EFE9;padding:64px 0;text-align:center;
  position:relative;overflow:hidden}
.cierre::before{content:"";position:absolute;inset:0;opacity:.09;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23D8C3AC' stroke-width='3'%3E%3Ccircle cx='60' cy='34' r='19'/%3E%3Ccircle cx='86' cy='60' r='19'/%3E%3Ccircle cx='60' cy='86' r='19'/%3E%3Ccircle cx='34' cy='60' r='19'/%3E%3Ccircle cx='60' cy='60' r='11'/%3E%3C/g%3E%3C/svg%3E") -20px -20px/120px 120px repeat}
.cierre>*{position:relative}
.cierre h2{color:#fff;margin-bottom:10px}
.cierre p{max-width:54ch;margin:0 auto 26px;color:#C9BFB4}
.cierre .botones{justify-content:center}

/* ---------- pie ---------- */
.pie{background:var(--carta);border-top:1px solid var(--linea);padding:52px 0 24px;
  font-size:15px}
.pie a{color:var(--gris);text-decoration:none}
.pie a:hover{color:var(--terra)}
.pie-rej{display:grid;gap:32px;grid-template-columns:1.5fr 1fr 1fr 1fr}
.pie h4{font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 14px;
  color:var(--tinta)}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-bottom:9px}
.pie .marca{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.pie .marca .flor{width:36px;height:36px}
.pie .marca b{font-size:18px;font-weight:800;letter-spacing:-.03em}
.pie .marca b i{font-style:normal;color:var(--terra)}
.pie p{color:var(--gris)}
.pie-fin{border-top:1px solid var(--linea);margin-top:34px;padding-top:19px;font-size:13.5px;
  color:var(--gris);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}

/* ---------- botones flotantes ---------- */
#flota{position:fixed;right:19px;bottom:19px;z-index:70;display:flex;flex-direction:column;
  gap:11px}
#flota a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  box-shadow:0 8px 22px rgba(0,0,0,.2)}
#flota svg{width:24px;height:24px;fill:#fff}
#flota .l{background:var(--terra)}
#flota .w{background:#128C4A}

/* ---------- LA ANIMACION PROPIA: las baldosas se colocan ---------- */
/* solo opacidad, desplazamiento y giro: nunca recortamos el elemento */
.ap{opacity:0;transform:translateY(26px) scale(.965) rotate(-.7deg);
  transition:opacity .55s ease,transform .7s cubic-bezier(.18,.9,.28,1)}
.ap.visto{opacity:1;transform:none}
.d1{transition-delay:.06s}.d2{transition-delay:.12s}.d3{transition-delay:.18s}
.d4{transition-delay:.24s}.d5{transition-delay:.3s}.d6{transition-delay:.36s}

/* ---------- movil ---------- */
@media(max-width:1000px){
  .top-in{grid-template-columns:1fr;gap:32px}
  .mosaico{grid-template-columns:repeat(2,1fr)}
  .g6,.g4,.g3,.g2{grid-column:span 2}
  .pasos{grid-template-columns:repeat(2,1fr)}
  .pie-rej{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  body{font-size:16.5px}
  .nav{position:fixed;inset:74px 0 auto;flex-direction:column;align-items:stretch;
    background:var(--fondo);border-bottom:1px solid var(--linea);padding:10px 20px 20px;
    display:none}
  .nav.abierto{display:flex}
  .nav a{padding:14px 16px;border-radius:12px}
  .hamb{display:block}
  .tel-cab{display:none}
  section{padding:48px 0}
  .top{padding:26px 0 40px}
  .mosaico{grid-template-columns:1fr}
  .g6,.g4,.g3,.g2{grid-column:span 1}
  .pasos{grid-template-columns:1fr}
  .cifras{grid-template-columns:1fr}
  .pie-rej{grid-template-columns:1fr}
  #flota{right:13px;bottom:13px}
  #flota a{width:48px;height:48px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .ap{opacity:1;transform:none}
}

/* ---------- barra fija de llamar en movil (pedida en el plan SEO) ---------- */
.barra-movil{
  position:fixed;left:0;right:0;bottom:0;z-index:200;display:none;gap:.6rem;
  background:#1E1B18;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));
}
.barra-movil a{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.85rem .6rem;border-radius:8px;font-weight:700;font-size:1rem;
  text-decoration:none;font-family:inherit;
}
.barra-movil .llamar{background:var(--terra);color:#fff}
.barra-movil .wasap{background:#FBF7F2;color:#1E1B18}
@media (max-width:760px){ .barra-movil{display:flex} body{padding-bottom:76px} }
